Test fixes, throttling per-minute, and rate limit callback

Hi guys,

Thank you for building such a simple and powerful piece of middleware!  I'm very excited to use this for rate-limiting our production system at PatientsLikeMe.

I found a bug that caused the specs to fail when run as a group, due to the app() setup method being defined outside the scope of each test.  I fixed this.  While I was in there I also added some Timecop based testing which the TODOs alluded to.

I added a simple new per-Minute throttling strategy.  Self explanatory.

I also added an optional callback to be fired when a request is throttled (which we intend to use for logging/e-mail alerts).

Happy to contribute this work back.
-Winfield