Developer ergonomics fixes

Fixes two bugs developers could run into:

1) Sometimes an exception could be raised before the exception class is loaded (for instance, if you use a null username/password)

2) Fixes include issues when this library isn't in the root of the project