Separate the Specification class into librate.

Fix the implementation of recoverable and add throttle for reasoning about what do to in
cases of rate violations.

Also, rewrite tests to use slash notation.
Docs and get right of setup.cfg; going the RTD direction.