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
Merge "Add context to TaskManager"