First real Python 3 tests

The goal of this changeset is to enable at least some of the tests to be
run under Python3. Even if we can't get them all to run initially it's
important that we start seeing the changes from bp keystone-py3kcompat.
Also it's important that we are checking for regressions. If we do all
this Python 3 work, but don't have automated tests in place we may
inadvertantly undo that work.

In this initial changeset I had to do some not nice things to get this
to work.

First I had to switch to using the nose test runner. testr seems to be
much more aggressive about importing everything, even when you are not
going to run the test module. This idea came from oslo. Once we have
full Python 3 support we can go back to testr.

Then I had to mock out some of the libraries that don't work on Python
3. This is unfortunate, but had to be done because keystone.test.core
indirectly imports a significant amount of the codebase.

bp python3

Change-Id: I6dd0d1b84380c4c386f70b72cdfcdf9b744c755f
Merge "First real Python 3 tests"