Created cache for expenses.

Added cache to expense system to limit the amount of DB calls made. DB
calls are expensive and caching should help us avoid spending time
there.
Refactoring management classes

Changing all expense, label, and pay to management classes to all
extend from a single management class. This is to enforce a design
pattern and easily give them all the benefits of caching.

A new pay to was added to the DB. “No One” now has index 1 and is the
default for all new expenses. This is a better solution than the
previous solution because now the default comes from the database and
not from the code.
Refactor Database Access Layer

Refactored database access layer to use tables to enforce a design
patter.
Changed Database interface

Changed the database interface to be less cluttered. Had to update all
the tests to go with it.
Moved most of the Management code to the parent class

Finished moving most of the management code to the parent class which
now works on the Table.
Renamed ManagementBase to Manager