Merge branch 'gearc' into develop

* gearc:
  Implement parser for statements and expressions
  Add Statement and Expression AST node types
  Add lexer for string literals
  Add identifier, '(', ')', ',' and ';' lexers
  Add Cabal package for compiler
Add Compiler monad and state manipulation functions
Export compiler state mutators
Implement compilation of statements and expressions
Merge branch 'feature-gearc-compiling' into develop

* feature-gearc-compiling:
  Implement compilation of statements and expressions
  Export compiler state mutators
  Add Compiler monad and state manipulation functions
Merge branch 'gear' into develop

* gear:
  Add pop instruction
Merge branch 'feature-gearc-compiling' into gearc

* feature-gearc-compiling:
  Implement compilation of statements and expressions
  Export compiler state mutators
  Add Compiler monad and state manipulation functions
Fix order in which atoms and strings are inserted

They ought to be inserted at the end, not in the beginning. This way it
will work with existing instructions.
Merge branch 'feature-gearc-compiling' into gearc

* feature-gearc-compiling:
  Fix order in which atoms and strings are inserted
Merge branch 'gearc' into develop

* gearc:
  Fix order in which atoms and strings are inserted
Merge branch 'gearc' into feature-gearc-object-file-writing

* gearc:
  Fix order in which atoms and strings are inserted
Implement object file writing
Merge branch 'gear' into gearc

* gear:
  Add pop instruction
Merge branch 'feature-gearc-object-file-writing' into gearc

* feature-gearc-object-file-writing:
  Implement object file writing
Merge branch 'gearc' into develop

* gearc:
  Implement object file writing
Merge branch 'feature-gearc-object-file-writing' into feature-gearc-compiling

* feature-gearc-object-file-writing:
  Implement object file writing
Merge branch 'feature-gearc-compiling' into develop

* feature-gearc-compiling:
Merge branch 'develop'

* develop:
  Implement object file writing
  Fix order in which atoms and strings are inserted
  Implement compilation of statements and expressions
  Export compiler state mutators
  Add Compiler monad and state manipulation functions