Created TransactionType class

Created the TransactionType class and forced the specification of a
transaction type in the Transaction::ctor(). Refactored
Account::withdraw() and Account::Deposit() to specify the
TransactionType when creating a Transaction object.

Tested: All pass.