----
When an Endpoint has an `authenticate()` hook so that it uses custom authentication logic sepiida will now respond with the value returned by `authenticate()` when a client calls `session.current_user()`. This makes it possible for clients of `sepiida` to transparently use their custom `authenticate()` hook and interpret the data they store in their own way without having to know any internals for how sepiida might interpret that data or request information from `pao` when calling `current_user()`.
In other words, this change does this:
class MyEndpoint(Endpoint):
def authenticate():
return {'foo': 'bar'}
def get():
assert sepiida.session.current_user() == {'foo': 'bar'}
and in doing so avoids a round-trip to `pao`