Implements Pluggable V3 Token Provider

Abstract V3 token provider backend to make token provider pluggable. It enables
deployers to customize token management to add their own capabilities.
Token provider is responsible for issuing, checking, validating, and
revoking tokens. Note the distinction between token 'driver' and 'provider'.
Token 'driver' simply provides token persistence. It does not issue or
interpret tokens.

Token provider is specified by the 'provider' property in the '[token]'
section of the Keystone configuration file.

Partially implemented blueprint pluggable-token-format.

This patch also fixes bug 1186061.

Change-Id: I755fb850765ea99e5237626a2e645e6ceb42a9d3
Merge "Implements Pluggable V3 Token Provider"