Make Rack::Attack a class and Rack::Attack.new return an instance of that class, rather than Rack::Attack.
Delegate to class methods with forwardable
Tidy up defaults. We don't need to use ||= because this runs when the class gets loaded, and we won't have user supplied defaults yet.
Merge pull request #54 from stevehodgkiss/dont_override_new_and_return_a_class

Rack::Attack.new should return an instance of a class, not the Rack::Attack constant