refactor rate limit strategies

* split 'em up into different implementations
* make FixedWindow (without elastic expiry) default.
tests for stragies. storage impl for moving window.
gitignore
add exception for trying to use moving window with memc
noob
subclassed rlock
configurable rate limit strategy
Merge pull request #1 from alisaifee/strategies

Strategies