Raise a specific exception for bad credentials (issue #152)
Raise a specific exception for non-existing objects (issue #152)
Refactor tests

We don't need to inspect the exception, so we can use
unittest.TestCase.assertRaises
Add a documentation note about exceptions