Add a setting to pick which cache to use.
The Great Test Refactor.

- Reduce the number of requirements to one: Django.
- Replace Fabric with a simple shell script.
- Make tests a TestClass subclass.
- Use the Django built-in test runner.
- Create a blank models.py to make Django happy.
- Drop my custom assert_raises.
- Add more Django versions to Travis.
Drop near-empty requirements file.

[ci skip]
Drop Django 1.3.x support from Travis.
Update docs and license. Switch to Apache.

[ci skip]
Drop the 'Backend' concept entirely.

The decorator now handles everything. Switch the storage mechanism by
defining a different cache backend and using the ``RATELIMIT_USE_CACHE``
setting.
Allow custom key functions.

Adds an optional ``keys`` argument to take a function or functions to
generate additional cache keys.
Add CHANGELOG and update MANIFEST.in.

[ci skip]
Bump version to v0.3.0.
Onward!

[ci skip]
Remove fabfile. [ci skip]
Make @ratelimit stackable.

Example included!
Merge pull request #17 from rlr/stackable

Make @ratelimit stackable.
Add `is_ratelimited` helper function
fix formatting
pep8 fixes
More formatting stuff
Merge pull request #20 from rehandalal/helper-function

Add `is_ratelimited` helper function
created RateLimitMixin (incl. Tests)
fix - Dict Comprehensions not available in python < 2.7