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
  ::headers() update.

  1.  Close the message post-parse.
  2.  Decode the header-value.

  This means the following are equivilent:

    msg( header( "Subject" ) );

    msg( all_headers()["Subject"] );
  Downcase the keynames in the table returned by all_headers.

  This just makes things more pleasant.
  Write out a C-style string.

  Without this I get crashes via Glib convert-error, from
 CMessage::header().

  Seems like something is screwey, but not sure what.
  BUGFIX:  Don't crash on wrapping long-lines.

  Previously we could try to take a substring past the end of
 a long line - if the line was a multiple of the screenwidth+1.

  THis size-check prevents that and allows wrapping to work
 successfully.
  Mention Fedora-specific compilation issue.

  This updates #141.
  New release.
  Install the lumail-debug binary too.

  You'd probably want lumail-dbg to get debugging symbols, but
 this closes #145.
  TAB-completion on an empty string works.

  We just avoid that case :)

  Closes #143.
  Ignore dotfiles when reading Maildirs.

  THis closes #144.
  Build with -std=gnu++0x

  This closes #147
  dump_mime will decoded headers.

  This is part of #148.
   Short-argument updates.

   -x now works for --exit.
   -d now works for --debug.

  This closes #150.
  Update to avoid two trailing ":" in getopt.