UTF-8 return result for get_body_part.

  This closes #137
continue foreach refactoring work from pr #135
and commitid 15d668e9689beebb1a56e42c3076df27542c50de
Merge pull request #138 from torstehu/cpp-foreach-conv

Continue foreach refactoring work from pr #135

I appreciate the update; I'm an old-school C-user so this stuff is new to me.  Seems correct though, at first glance.
  Added bindings for Page-Up/Page-Down in message-mode.

  This omission keeps catching me out.
  Added "headers()" primitive.  Stub.
  New primitive: all_headers().

  This returns a table containing all header-names and values.

  NOTE:  Two issues with this function:

  * We couldn't call it `headers()` as we use a table with that name for display-purposes.
  * Using std::unordered map with UTFString causes compilation failure. This is a bug I didn't want to fight right now.
  Removed the test-code that shouldn't have been committed.
  Use UTFString for the all_headers primitive.

  D'oh, the issue with compilation was trivial to fix, I just
 had to make the key of the unordered map a std::string.

  That works because headers in Mails will be ASCII, and only
 the values need to be UTF-8.

  Closes #139