pluggable api hooks, tokens & auth

this change implements the notion of pluggable API hooks whereupon
providers and latch-in before/after hooks for the request/response flow.
it also refactors the existing per request authN, logging, etc. into
hooks. also included in this PR is the notion of pluggable identity
token, token-id and authentication drivers which permits consumers to
easily plug into the existing identity workflow without changing base
jumpgate code.

implements: https://github.com/softlayer/jumpgate/issues/47