fix/refactor(governor): broken rate limiting

It was discovered that the rate limiting in eom:governor was not
working correctly. Often, a user that triggered an HTTP 429 would stay
stuck in a state of HTTP 429.

This patch greatly refactors and simplifies the eom:governor logic,
fixing other subtle bugs along the way. In particular, the following
is removed:

* sleep batching: if we hit the soft limit, always sleep
* max sleep seconds: no limit on the amount of back pressure we dish
  out
* floating point division throughout
* invariants checked on boot up to avoid silly errors like:
    * soft limit > hard limit
    * period sec <= 0

Stylistically, switched from if/else assignment branches to
single-point assignment. This makes some of the state management a
little easier to reason about.

Removed some unused methods/functions.

SEMANTICS CHANGE:

* if a HardLimit is triggered, set the previous count to
  (hard-limit - 1)

This makes it so that HTTP 429 is only encountered once in a stream of
requests, and the rest are handled with back pressure. Allows for
greater use of the system globally.

Many of the existing comments were removed. They intefered with the
readability of the code.
tests/refactor(governor): adjust semantics

Simplify and update meaning. In particular:

* soft limit request stream should never raise more than 1 HTTP 429
* hard limit request stream may generate more than 1 HTTP 429

This probably needs more work to solidify guarantees.
Merge pull request #18 from cabrera/fix_governor

fix(governor): rate limiting gets 'stuck'