There will be a constraint on using the new WT_SESSION::prepare_transaction API, which is that after it is called the only subsequent operations permitted are WT_SESSION::commit_transaction and WT_SESSION::rollback_transaction - we should enforce that by having any calls to other functions return ENOTSUP once prepare is called.
Subsequent to the commit/rollback all operations are permitted again.
We should enhance our Python test suite to check both correct and incorrect usage of the API.