Separate assertions and expectations

Move expectations to a file that requires and includes the
assertions. This will allow us to add either the assertions or
the expectations to support Minitest unit tests. Also put
these inside the Rack::Minitest module.
Extract JSON methods to module
Update assertions test to actually use assertions
Add expectations tests

* A copy of the previous assertions tests
Require expectations module for tests to run
Update Spec to use new modules
Add specific JSON tests
Add Unit test support

Add Rack::Minitest::Unit which mixes in the rack 
test methods, the expectations (since in Minitest 
you can mix and match unit and spec style), and 
the JSON methods. Add a unit style test to ensure
the mixing are wired up correctly.
Require rack/test in spec
Explicitly test modules and extensions

Include modules directly into test classes to
ensure that tests are isolated from the relatively
large-scale extension happening in spec and unit.
The module tests only test the included module
while the spec and unit tests verify that the 
extensions to Minitest work correctly.
Combine unit and spec into rack-minitest/test

By adding rack-minitest to `Minitest::Test` you
can use any style of testing you want. This is in
keeping with Minitest's own functionality.

Also, by explicitly requiring rack-test here, you
don't have to worry about load order in your test
helper.
Update README with assertions
Update README with new usage
Break out inline module definitions
Help JSON find itself
Merge pull request #2 from elskwid/unit-and-spec

Unit and spec support