Add services.py.

This will contain the brains of the application; mostly methods for constructing and manipulating
debtgraphs.
Add a bit of testing.
Simplify the add transaction route.
Change Transaction model.

So that fresh is not needed anymore; I've decided to just transparently display
the graph in a cleaned up state all of the time. Also add a column for whether or not the
transaction is a DEBT, PAYMENT, or CLEAR_ALL. This was a tricky decision I've made. Basically
every transaction represents money changing hands in the same way (a debt from from_id to
to_id), but if PAYMENT is specified, the logic for insertion and display is reversed. This
allows to work with transactions in a consistent manner behind the scences (since they are
all mathematically the same thing) and only have to be concerned with what kind of transaction
this is when interfacing with the user.