fix header's charset getting reset to nil unintentionally

`m = Mail.new { text_part { body 'hi'}; from "你好 <y@q.com>" }`
results in a bad "From" address (when you do puts m.encoded)
but `m = Mail.new { from "你好 <y@q.com>"; text_part { body 'hi'} }` works fine

Discovered that `header["content-type"] = "text/plain"` will reset the header's charset even if it were previously set to utf-8.

This pull request fixes this issue.

Tested on
ruby-1.8.7-p352 [ i686 ]
ruby-1.9.2-p290 [ x86_64 ]
ruby-1.9.3-p432 [ x86_64 ]