rust: split transact into prepare and submit

The async Rust binder interface will want to prepare and build the
Parcel on one thread, and submit the transaction from another thread.
Doing this will reduce the amount of `: 'static` bounds necessary in the
async binder interface.

Such a workflow where `AIBinder_prepareTransaction` and
`AIBinder_transact` are called on two different threads is not possible
with the current API.

Test: m
Change-Id: Iaf13b070e69faf8658a202c6e05f0a2aeaa4a904
4 files changed