Handle non-hash body params.

When the body of the request is not a hash, do not modify the request's form_input since this breaks the Rack::Request#params method by allowing Rack::Request#POST to return nil.
https://github.com/rack/rack/blob/da7efac44c7c463fb39e82d40c4a23403db383de/lib/rack/request.rb#L227
https://github.com/rack/rack/blob/da7efac44c7c463fb39e82d40c4a23403db383de/lib/rack/request.rb#L201
Merge pull request #391 from gatherdigital/form_hash-array-json

Handle non-hash body params.
extract params and header to Grape::Request

By doing this, other middleware can access the params and headers through request, just like the Endpoint class
Merge pull request #392 from niedhui/master

extract headers and params from Endpoint to Grape::Request
update changelog for #392
Merge pull request #393 from niedhui/master

update changelog for #392
Update CHANGELOG.md
Fix: #394 - Path version no longer overwrites a  parameter.
Merge branch 'master' of github.com:oivoodoo/grape into oivoodoo-master
Documented optional params default value.
Use 1.9-style symbol keys in README
Merge pull request #401 from reprah/readme-hash-syntax

Use 1.9-style symbol keys in README
add support for versioning using the 'Accept-Version' header
add documentation for :accept_version_header versioning strategy
Merge pull request #403 from politician/feature/support-accept-version-header

add support for versioning using the 'Accept-Version' header
Update README.md

update grape-entity URLs
Merge pull request #405 from ngpestelos/patch-1

Update README.md
Update CHANGELOG.md
Fix #407: specifying 'default_format' will also set the default POST/PUT data parser to the given format.
add pry-debugger