Add "folder" (and "folders")

These commands work, but don't take any (useful, anyway -- you can
"set" the current folder but it doesn't get written to disk so it's
doesn't actually _do_ anything yet) arguments.  They're also completely
untested because the functionality to add messages into folders isn't
implemented yet.

Regardless, they do print some somewhat pretty output!
Write changed msg's to disk

As everything is a msg (for example, the folder/mailbox context files)
they need to be able to be modified.

This also cleans up an overzealous sed I ran a while before -- whoops!
Left a debugging printf in folder{,s}
Move current folder logic to env.
Add NMH importer

This is a simple (and pretty much untested) import script for NMH that
is designed to be good enough to get some mail dirs imported so I can
test MHng.

This script also currently consists of the only definition of MHng's
mail directory format, but I'll change that soon enough...
Add libmhutil

This is for utility functions (the first example is counting the
number of digits in an integer) that aren't really MHng-specific but
that I haven't found anywhere else.
Add scan program

This current scan program doesn't really work all that well (there are
no commandline options, it lists through the directory twice, and it
doesn't actually read any messages) but those problems are all in the
library, not the frontend, so I figured it would be a good time to
commit.

Also, I need a bit of time to think about handling mail messages (I
want to have good support for MIME).  I'm hoping there's a good mail
parsing library somewhere online but I'm on a plane right now so I need
wait on that.  If there's no good MIME/mail library then I think I'm
going to have to go and write my own :).
Sort folder listings

This uses scandir(), which I was trying to avoid because it uses malloc
instead of talloc, but it using the standard library is a whole bunch
cleaner that dealing with this junk mysef so I guess I'll just have to
bite the bullet and use some malloc.

No memory from malloc ever makes it outside of the functions that are
calling scandir(), so at least that's something decent.
Restructure config parsing

I'm attempting to seperate config files (which are writable) from mail
messages (which aren't writable) without duplicating too much code.  I
think this will be OK because it'll keep the config file writing code
as simple as possible (just a key-value pair, always in the native
codeset).

I'll probably go back and remove this duplicate code when the mail
message handling code is more robust, though.
I forgot to run valgrind

It showed that I forgot to fclose() a read-only file.
Move indicator to left column

This makes it a bit easier to see which row is selected.
Fix build on old Red Hat

It turns out that isblank() is a C99 function, so I needed to define
one of my source files as a C99 source.
Fix build with GCC 4.6

GCC 4.6 no longer pulls in all dependencies of a shared library when
that library is linked, which means you have to add a whole bunch more
options to the link commandline for every binary.  Right now I just
pull in talloc, but I should probably add a pkg-config file for libmh
and libmhutil.

This workaround just adds talloc's pkg-config files all over the place
so they always get linked in.
Remove -Wno-unused-parameter

There were only a few unused parameters remaining, and all of them are
really just FIXME's for unimplemented functionality, so I just removed
that flag and added in some FIXME's.
Change to (mostly) -ansi mode

This adds the -ansi flag to COMPILEOPTS, but there are some non-ansi
functions used by this code (right now it's scandir and snprintf).  As
I don't want to duplicate code, I just forced the correct feature test
macros while including some header files.
Add Git's date parsing library.

This is quite hacky, probably because I'm building with -Wall and with
-ansi because I had to disable some warnings and add some feature test
macros in order to get this to build.  I guess I'll just have to trust
Linus' code :).

Note that nothing actually _uses_ this code yet, that's for the next
commit.
Add a simple mail parser

This parser isn't finished yet (it can't deal with MIME messages and it
doesn't even look at the actual content of a message.  This is good
enough to allow scan to pretty-much work, though.
Only read the message headers.

I don't do anything with the rest of the message, in this case I was just
allocating a whole bunch of memory and leaving it around (actually, I
was copying it over and over again for each line because I was treating
it like a giant multi-line header).
Use fixed-width scan columns

This isn't necessary (the old way still works), but it does match NMH's
behavior, and it is twice as fast when iterating through long lists.  I
also think this behavior is a bit easier to parse (for a human, not for
a computer -- any scripts should use the library!).
Fix off-by-one in month field

In a "struct tm", the "month of year" field is 0-indexed while the
"day of month" field is 1-indexed.  This fixes the off-by-one error
induced by this oddity.