Error handling and optional institution username / password keys

In order to better handle error codes, I've created `AggcatError` which can be raised on a non-acceptable HTTP response. The benefit of this is that it provides better messages than what the API returns by default. 

The error codes and text are pulled directly from [Intuit's website](https://developer.intuit.com/docs/0020_customeraccountdata/customer_account_data_api/0700_error_codes)

In addition, I've added support for optionally passing in the username / password keys. This way, if you already have them on hand, it prevents a need to query their API for them.