Expose the response body as a IO object.

Gives direct access to the underlying IO object of a response body,
which wasn't possible before,
response.body.copy_stream for instance would fail if you have set a
another charset(encoding), which isn't possible with IO objects anyway.

It also wasn't helping that every ruby web server would have to be
rewritten to check if response.body.copy_stream would exist.
Merge branch 'master' into response-as-io

Conflicts:
	lib/webmachine/spec/adapter_lint.rb
Merge pull request #165 from seancribbs/response-as-io

Expose the response body as a IO object.
Clarify changes made to RequestBody
Merge pull request #173 from seancribbs/streaming-rack-requests

Clarify changes made to Rack::RequestBody
decode path_info fragment(s).

before this change a path_info fragment would enter a resource
as an encoded value:

{
  :fragment => 'hello%20world'
}

I would expect to receive the value differently:
{
  :fragment => 'hello world'
}
Add failing test for #166 - no etag but client supplied if-none-match.
Reply with 200 for if-none-match against no ETag.
Update rspec syntax
Use a no-op logger in the spec suite. Addresses #175
Merge pull request #167 from seancribbs/bugfix-166

Bugfix for 166
Merge pull request #177 from rpag/decode-path_info

decode path info
Deprecate the string version of the route splat.

We've talked about doing this for a long time because '*' is a valid
URI path segment. Replacing it with :* makes the difference more
explicit.
Merge pull request #181 from seancribbs/match-all-symbol

Deprecate the string version of the route splat.
Merge pull request #180 from seancribbs/bugfix-175

Use a no-op logger in the spec suite. Addresses #175
Deprecate Hatetepe adapter
Remove test for undefined adapter behavior

Mongrel, WEBrick, and HTTPkit do not remove the Content-Type
header in case of an empty response body, and that is totally
okay.
Allow adapters to respond with Content-Length for 204 et al
Add HTTPkit adapter