Make Keystone client pluggable

This makes it possible to switch out the builtin keystone client
with a custom plugin - similar to how the engine client works.

Co-Authored-By: Anderson Mesquita <andersonvom@gmail.com>
Partial-Bug: #1274201
Change-Id: If14ff4b34b90f46d0f468fd669dcc2fdc36c8c97
Add Keystone V2 plugin

Co-Authored-By: Richard Lee <rblee88@gmail.com>
Closes-Bug: #1274201
Change-Id: I97d3fe7e5ff52250c699c9b470d114e53888ef15