Add support for parallel testr workers in Keystone

Full support for parallel testr workers now works in keystone. The
major item to be aware of is that if non-SQLite backends or a LIVE
LDAP backend is being used for testing, the concurrency must be set
to 1 to avoid conflicts. To artificially set the concurrency set
the env variable ``TEST_RUN_CONCURRENCY`` to the desired number of
testr workers. The default is to run one worker. To use 1 per
available core, set ``TEST_RUN_CONCURRENCY`` to 0.

Each worker uses a subdirectory of the test temp dir  based upon
the PID. When the worker exists (via the use of atexit), the
worker-specific PID directory is automatically removed.

The first time concurrent tests are run in a given environment,
ensure that old .testrepository directories are cleaned up as they
may introduce bad learning data on how to bin the tests based upon
test runs that occured without concurrency.

Closes-Bug: #1240052
Change-Id: I5c3385a431774ce574266a82065ed6237e8b3665