break literally everything
at least it's not global
Add region argument to resource_for_region, add s_cache everywhere.
some unfinished typing
WIP
Complete at least the sketch of the error-injector API endpoint.
various lint fixes, some explanatory documentation.
Reformat code to make it more readable.

Especially, call out 2-tuples that include a status so it's clearer
we're not just returning a dict.
This interface was a mistake.

Just delete it.
document type of cache dictionary
Fix resource_for_region signature in a few places.
copypasta from cryptography

I don't know what this does or why it works, but thanks @dreid for the suggestion.
Change the syntax on some dict comprehensions.

So that coveralls can *succeed* at reporting that python 2.6 has no coverage.

Despite the fact that no tests are actually run.

Because python -m unittest discover doesn't actually work, even though it does *something*...

All for the want of a horseshoe nail.
add session_store to resource_for_region

This way, plugins can store all their relevant state on the session.

Start storing state that way in nova.

Note that you still have to take care to separate any data by region (test for
nova that makes sure of this for that particular case is included) because one
tenant in Identity == one Session object.
As long as we're making py26 not blow up...

might as well make it actually test stuff
Remove nova error injection proof-of-concept (since it doesn't do anything anyway and even if it did it should be in a separate PR)
Merge pull request #65 from rackerlabs/less_worst_cache

Move global s_cache out of globals and into per-tenant/per-region Nova API state.
change the URI prefix to say mimic instead of the word service
fix tests
changing 'service' to 'APIs' instead of mimic