Added contribution model and cleaned up session management

This set of commits adds in a model for handling individual contributions, which are each 
connected to the funder who made the contribution and the politician that received the contribution. 

Some other things have also been cleaned up, including whitespace issues and issues with having
individual database sessions declared in each model. This lead to problems when the different models 
interacted, such as trying to add a contribution to a funder's list of contributions. To remedy this, a global session instance has been created - this instance is shared throughout all models, and should be used throughout the project to both get and add objects to the database.