Close the original body passed to Rack::ETag

The Rack spec states:

> If the Body responds to `close`, it will be called after iteration. If
> the body is replaced by a middleware after action, the original body
> must be closed first, if it responds to close.

After Rack::ETag replaces the response body, close the original body.

Backstory:

@benweint and I found this bug while debugging a problem with the
[ActiveRecord::ConnectionAdapters::ConnectionManagement middleware]
(https://github.com/rails/rails/blob/master/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb#L613-L631)
when it was included deeper in the stack than `Rack::ETag`. As the
response trickles back up the stack, ConnectionManagement replaces
the body with a BodyProxy which, when closed, will close database
connections. However, ETag then replaces the BodyProxy without
closing it, so our database connections were never being closed.

Signed-off-by: David Celis <me@davidcel.is>