Better Rakefile

* Add description so tasks show up in `rake -T`
* Move body of `test` task into a method, the invoke/reenable/invoke
  dance shows that it's not a dependency, it's a method
* The `require 'active_support/all'` was doing nothing, I'm assuming it
  was intended to run the tests again with ActiveSupport loaded, but
  since the tests are running in a separate process, they won't be
  affected by the Rakefile requiring files. I added it with -r so that
  it will affect the test environment.
* Run all tests at once instead of one at a time, this way we don't pay
  the cost of constantly reloading the environment. Takes test time from
  20 seconds to 4.