Add basic HTTP authentication to archive POST/DELETE.

The credentials can be stored in the charmd configuration file.
Abstract out the authentication logic in a decorator.
Created a card for the DoRequest refactoring.
I'm not entirely sure about passing the HandlerConfig into the handlers. It seems a little bit
like a boundary violation. I'd prefer to define a type that specifically enumerates the
dependencies that API handlers can have (handlers should not depend on the mongo URL
or the API address, for example).

Perhaps name it HandlerParams?