Adds improved Rack::Deflater tests.
Adds deflater options to control compression on per-request level.

* Adds :if option which should be given a lambda accepting env, status, headers, and body options.
* When :if evaluates to false a response body won't be compressed.
* Adds :include option which should be given an array of compressible content types.
* When :include don't include request's content type then response body won't be compressed.
Close body if content is fresh enough
Reformat Rack::Lint docs.

Limit lines to 80 chars.
Ensure Rack::Utils.best_q_match to respect requested content type
Flip the lobster better
Add support for RFC2324 status code
Add helper method for 418
request.scheme supports multiple x-http-forwarded-proto values
Fix `clean_path_info` for paths with only a slash
Proxy body if it is fresh enough

In order to prevent response body resulting in race conditions.
add support for application/json content type requests
max-age settings forces Set-Cookie parameter

With patch https://github.com/rack/rack/commit/74e0acd36353cf619bf56fce17bcb9ef1ab30547, there is ability on rack to set max-age parameter. Which is fine. Unfortunately this parameter is sent to browser only when the session cookie is created. Which is afaik wrong. You usually want to refresh the cookie with each page request. And setting 'expires' parameter behaves in this way as well. So this patch doest:

1) When max-age parameter is present, the Set-Cookie HTTP header is sent with each request
2) When both max-age and expires parameter are set, max-age has precedence
3) Added max-age conversion to string where aplicable, because user might not want to use string for "time interval"
Fixed build_nested_query to handle empty arrays and hashes
Fix spec_request on ruby-trunk (2.2.0dev)

Manually percent-encode square brackets in query string. This fixes
current travis build issues.

2.2.0dev has recently changed URI parsing from RFC2396 to RFC3986.
Square brackets in RFC3986 are required to be percent-encoded when
present in the query string of a URI. URI.encode on 2.2.0dev isn't
currently updated to support this encoding (see:
    https://bugs.ruby-lang.org/issues/9990)
Fix AccessLog documentation typo
Merge pull request #709 from davidcelis/patch-1

Fix AccessLog documentation typo
Merge pull request #708 from lengarvey/fix_uri_encoding_ruby_220_rfc3986

Fix spec_request on ruby-trunk (2.2.0dev)
Monkey patch to fix WEBrick chunking semantics.

 * Previously proposed in #707, unfortunately that patch caused double encoding
 * Fixes #707, #618
 * The longevity of this patch is dubious. If WEBrick makes identical semantics
   modifications as I think should be done, this patch will have no effect. If
   WEBrick introduces changes to internal header handling, class structure, etc,
   we'll break.
Merge pull request #667 from mattkasa/feature/add_rfc2324_status_code

Add support for RFC2324