system testing the middleware when used in an actual Rack app

This adds the middleware to a Sinatra app and then runs requests
against it using assert-rack-test.  This is a system level test
to make sure all parts of the middleware are working as expected.

@jcredding ready for review.