Add support for transactions.

- Track subscriptions & transactions in the connection.

- Pass the connection struct in the message read callback (temporary).