Bugfixes & API auth & unit tests

### Bugfixes

* Rename `bark.auth.auth` to `bark.auth.views` (not a bug, just a presentational change). Should follow the same naming scheme for other modules.
* Fix a few missing brackets and typos in existing code under `bark.auth`.

### API Auth

* Added `bark.auth.shared`, providing auth-related functionality to other `bark` libs. Should follow the same naming scheme for other modules.
* Changed the way Bark handles bad requests. Now all such errors must be an exception subclassed from `BarkApiException` from `bark.lib.api`.

### Unit tests
... aiming for 100% coverage. Run these when you change something.