Unifying download response header behavior

1) Refactoring DownloadBehavior#send_content so that the case
   statement is operating at the same level of abstraction.
2) Extracting common behavior for setting response headers for both
   streaming and sending the content all at once
3) Adding explicit declaration of content type in file headers.

Of these, the explicit declaration is fixing behavior so that the
'Content-Type' response header is set in Chrome v32, Safari v7, and
Firefox v29. Without the following code, the Content-Type is not set:

```ruby
response.headers['Content-Type'] = datastream.mimeType
self.content_type = datastream.mimeType
```

This may be an upstream bug in Rails. As a side note, Hydra::Core is
using a private function `#send_file_headers!` which could create
problems going forward.