add Vim swap files to .gitignore
Major refactor

Updates to build system, cabal file, splitting of code, syntax and parsing ect