Use abstract base class for credential driver

Use the abc module for managing abstract base classes in the driver
layer.

bp abstract-base-class-drivers

Change-Id: Iae65d406bdb65f5ae0fc08f0c1d4b48890eca889
Fix v2 token user ref with trust impersonation=True

The v2 token controller incorrectly checks for a string instead
of a boolean, which results in the wrong user ID (trustee, when
it should be the trustor) when impersonation=True.  So fix the
comparison and tests, adding a test which illustrates the issue.

Change-Id: Ic94f30f2354c9fda20531bb598387368fde8a096
Closes-Bug: #1239303
Merge "Fix v2 token user ref with trust impersonation=True"
Merge "Use abstract base class for credential driver"