Fix back_door.rb to remove Rack ENV discrepancies

I was having incredible trouble with this helper and one of my request specs - POST request backdoor attempts were simply being ignored.

After debugging, I found that env['QUERY_STRING'] in the below context doesn't contain anything when POSTing. (With GET, this works perfectly)

So in line with Rails (and Ruby/Rack) idioms, I've refactored the middleware in the Rack-recommended way and now use Rack to properly chew through the query parameters, returning them in a clean, consistent fashion across request types.