Ensure charset is maintained when serializing as YAML

This issue stems from the following peculiarity:

```ruby
mail = Mail.new
mail.charset # => "UTF-8"

mail.content_type = "text/plain"
mail.charset # => nil
```

I have modified the YAML serialization so that it sets the `charset` to its expected value after setting the content type header (similar to [how Rails seems to handle this](https://github.com/rails/rails/blob/master/actionmailer/lib/action_mailer/base.rb#L696)).