Implement abstract Transactiona and DataSource

- Implement the abstract Transaction class from which Expense and Income
  will inherit.
- Implement a TransactionDataSource which will be used to retrieve and
  store Expenses and Incomes.