extension migrations

Allow each of the extensions to have their own
sql migration repository instead of mixing them into
the common repo.  db_sync must be called explicitly on the extension.

In the past, it was assumed that only migrations for backends backed in
sql would be run.  In practice, however, all of the migrations were run
every time.  The code has been modified to reflect this.

Adds parameter --extension to the cli for db_sync and db_version

to test out the migrations

bin/keystone-manage db_sync --extension example

will migrate to version 1 and

bin/keystone-manage db_sync --extension example 0

will migrate it back to 0

to check the version

bin/keystone-manage db_version --extension example

blueprint multiple-sql-migrate-repos

DocImpact

Change-Id: I6852d75bde6506c535fa3d74537e3c1bbd6578d8
Merge "extension migrations"