Add ContentType enum and property and htmlBody 

For content type is should be enough to check just subType has it seems that "html" and "alternative" are valid html viewer requiring sub types. So, no need to check as "text/html" or "multipart/alternative". We could futher improve contentType to be read/write but currently I don't see use for that.

htmlBody is changed to read only property and fallbacking to body. Plain body also works for html viewers.