Added Flask-Login and blinker for authentication and testing templating, respectively.
Removed requires_login decorator and added oauth_flow decorator to give explicit access to the authentication flow object.
Broke down logic in oauth2callback into a helper function, verify_credentials_and_login.

This was done because it will actually make the oauth2 logic testable. It's impossible to automate the process to make valid credentials without storing a real account's password publically. It'll also be incompatible with fixture. A better solution is to use httpmocksequence to create a set of credentials. The only thing the routing for the oauth2callback should be doing is receiving the code and exchanging it.
Integrated Flask-Login to avoid global objects and session mangling.

This change removes requires_login usage and replaces it with login_manager.login_required. User Model has been updated to use the UserMixin object to provide required Flask-Login  functions. Templates have been updated to no longer user g.user.

This was done because it was impossible to log a user in properly for testing due to session mismatching.
Added Twill to setup to prepare for view testing.
Began view testing for #15.