Create 'Transaction' Class

## Create a 'Transaction' class, which can be injected into non-mapper classes (e.g., controllers), to grant them the ability to begin, commit and rollback transactions without being exposed to the rest of the dbAdapter.

### Tasks
 - Create the 'Transaction' class, which requires a DbAdapter in the constructor
 - Add begin, commit, and rollback methods to the Transaction class
It's more generic-use than the comment suggests.

You could say something like:
> Gateway for starting, committing, and rolling back database transactions