Tidy up lexer a bit name-wise. No changes to functionality.
Lexer: More modular scanning, please! Fixes GH #16.

The lexer now creates an entry for each str/file loaded (though it really only
supports loading one entry total for now). This will make it easier to add
imports later on.

More importantly, each entry takes a line reading function, and a closing
function. This makes it possible to add other file types, which will be
important later on. I also made source a void * to help make things more
modular: The interpreter doesn't care what you're using, as long as
input_buffer is filled, it's synced with ->label, and it's got a close
function to tidy everything up.

str now reads lines like file does. This means that ch_class doesn't have to
be adjusted anymore, which is a nice small win.
BIG CHANGE: Shove everything into a src/ dir, use autotools to compile now.

This was done because I intend to start an apache module which I believe will
need autotools to put together. This also streamlines the build process by
getting rid of a makefile that wasn't being updated properly at all with
regard to dependencies.

I've also added a couple of new Makefile targets: One to run the sanity test,
and another to run the blastmaster suite of tests.