Added tests for api key authentication
Cached authenticated user for the lifetime of a request
Contrained User methods to the current tenant