Fix many encoding problems
Created by: brodock
I've appended bug fixes for #725 (closed), #782 (closed), #648 (closed), #782 (closed) with a better solution then force_encoding to UTF-8 as it will not fix every case. A proper reading of Yehuda Katz's article about 1.9 encoding is a must to fully understand the problem: http://yehudakatz.com/2010/05/05/ruby-1-9-encodings-a-primer-and-the-solution-for-rails/.
This also fixes a unreported problem with plain/text blobs being sent without charset being informed on HTTP HEADER.