Move specific functionality into test fixtures, so that normal test runners
can work. For now, this means we can use unaltered nose. For the future, it
gets us closer to being able to use other test runners such as testrepository
which allow for things like parallel test runs and re-running failed tests
in a dev/test cycle.
Also, aligns keystone with nova and glance.
Change-Id: Ic1966281c0bdfbc09792360209692e9d4a0a51a7