Set body's charset based on message

This adds the ability to set body's charset through message. Experienced this issue while using ActionMailer with custom charset: body is getting encoded in config's default charset, but decoded to a custom one and this results in unreadable email's body.