Return an async_result from add_auth_async

Even though ZK closes the connection when auth fails (though the session is
still valid!) we should have add_auth_async be consistent with the rest
of the async calls by setting an exception on the AsyncResult object.

We still switch the state to KeeperState.AUTH_FAILED afterwards.

Added two tests (auth passes and auth fails raising AuthFailedError as
expected).
Merge pull request #152 from rgs1/add-auth-async-consistency

Make add_auth and add_auth_async consistent with the rest of the API