Add context to TaskManager

Some drivers methods can require context-specific
info. Example: keystone auth enabled, auth_token
required for deploy with use vendor_passthru in API.
Possible usage:
with task_manager.acquire(context, node_id,
                          shared=False) as task:
...
    task.driver.deploy.deploy(task, node_obj)
...

def deploy(self, task, node):
...
    token = task.context.auth_token
    if token:
...

Change-Id: Id51c005499ac4013142f71703a6aa2dca067f1ad
Implement /nodes/UUID/vendor_passthru in the API

The RPC and Conductor layers are already done;
this patch adds some exception handling and implements the
RPC bindings inside the API service so that /vendor_passthru
will be possible.

Change-Id: Iba3feae0445a0eb202efc5b9a346fb9931dc4b00
Add mailmap file

The .mailmap feature is used to coalesce together commits by the same
person in the shortlog, where their name and/or email address was
spelled differently.
http://git-scm.com/docs/git-shortlog

Change-Id: I9260d12fe52b31feae362995641e94969ea6bbbb
Update mailmap for Joe Gordon

Update mailmap to reflect that I am committing from a new email address.

Change-Id: Ie174dc708ff1e1dfb1010441286d96738a8957bb
Merge "Implement /nodes/UUID/vendor_passthru in the API"
Expose /drivers on the API

The /drivers resource will return a list of drivers supported accross
all the conductors.

Change-Id: I3a86bb8cad2a9a86114c3f19a22835fa3771147e
Merge "Add context to TaskManager"
Merge "Update mailmap for Joe Gordon"
Merge "Expose /drivers on the API"