add some basic linting and error checking

also clean up the problems that are already there
move banner manipulation code into its own file
base parse engine support
Add basic travis ci support
support a multiline ocaml parse engine
basic support for travis-ci
change the markup engine to support character ranges