#192 Authentication revamp

Resolves #192 
Authentication now support read/write API keys