Don't incorrectly default charset on FileResponse

By passing the content_type into the constructor to Response, we can allow it to decide intelligently whether the default charset should apply.  Otherwise we'd have to replicate that logic somehow, or live with weird charset annotations on images, pdfs, and zips.
Add tests for the content_type fix.
Expand tests - make sure pdf, jpeg types also are not annotated with a charset.
close resources and 80-char line width
Merge branch 'pull.1251'