Move some methods from IFdbReadTransaction to IFdbTransaction.

I'm submitting this pull request again because I had some merge issues before. Let's see if it goes better this time.

I moved some of the methods out of IFdbReadTransaction so that they would not be available to use on snapshot transactions. The items moved are:

Size
Reset
CommitAsync
SetReadVersion
GetCommittedVersion
AddConflictRange
OnErrorAsync

This is more consistent with our other bindings, and hopefully it will also help avoid confusion as it seems a little easier to reason about snapshot transactions if they cannot modify the state of the transaction at all. Let me know if you have any objections to this, particularly if you've got a use case that is hurt by this change.