misc updates:
- get_message_content can take an optional struct argument to handle
  encodings/character set conversions. By default it will auotmattically
  search for the required details.
- add an option to the body structure search to return just the first
  match instead of all matching message parts
- fixed a bug with cached response status checking