Ratelimiter patch

governor.py: Modified the rate limiting algorithm so that it guarantees request-limiting to <number> requests per second (if required, we can change this to different units like requests per hour, etc.) and removed a need for the server to force a delay upon itself or the client.

test_governor.py: Added the ability to use a real redis instance from the pool for testing. The new rate limiter currently causes two unit tests to fail while using the fake redis instance, but upon using a real redis instance, all tests pass. (Functional test will be updated and uploaded soon).

I think we need to keep a sleep in order to put backpressure on the client. Otherwise, clients could really hammer our web heads with lots of short-lived requests.

What do you think about removing the 'throttle_milliseconds' setting from the config file, then simply sleeping for the remainder of the current 1-second epoch? That would cause all clients to pause, then only at the end of the epoch would they get the 429.