Fix #272: add 'allocate_ids' RPC to connection

To ease comparison with the protobuf spec:

- Reorders other RPC methods to match the order in the protobuf spec
- Renames 'Connection.rollback_transaction' -> 'rollback'.
Is it worth allowing a single `Key`? Does this ever get called from user land? Wouldn't we be better off required the caller to send `[key]`?