Add labels and expenses
Add concept of expenses, and db schema.

The expenses concept allows a representation of different kinds of
transactions amongst users. This means that more complex situations
like splitting a bill can be modeled as an expense, with transactions
underneath keeping track of the actual transfer of money on an
individual basis.
Added more test coverage