Adding SendOptions to IDeferMessages

WIP

@johnsimons please take a look (esp the new TransportOperation which should be easier for persistence to implement)

With this in place we can control EnlistInReceiveTransaction. 

Left to do:

- [ ] Add test for EnlistInReceiveTransaction
- [ ] Fix the audit issue