Starting to add testing framework

Added code to makefile to build it. Makefile needs to be rewritten to be
remotely tolerable: figure out how ocaml build chain works.
Fixed bug with newlines in string literals

Now catches unescaped (error) case at lex time.
Fixed bug with \&, gaps in character literals

Catches error correctly.
Set up postlex token types

Will be passed to parser.
Implemented postlex phase
Fixed up layout phase interface

Needs to call layout function on individual characters in a line, not just
the start of line. This also forces us to store the raw start index of
each lexeme (not just each prelexeme) which is probably a good idea anyway.
Partway through unlayout
Working on unlayout
unlayout phase written

All phases of lexer written. Doesn't compile. Untested.
Fixed a couple typos
Rewrote build system to use ocamlbuild

Doesn't work yet.
Moved files to src directory for build system
Added more stuff to gitignore
Fixed up build flags
Added dummy main files

Build system now at least tries to compile all source files.
Fixed a couple small bugs
Merge branch 'build' into lex

Incorporating new build system
Fixed small makefile bug
Renamed test main for build system

OCaml gets confused with multiple main modules in the same program.
Fixed bug in main program