Add Cabal package for compiler
Add identifier, '(', ')', ',' and ';' lexers
Add lexer for string literals
Add Statement and Expression AST node types

The following statements were added:

 - Null statements
 - Expression statements

As well as the following expressions:

 - Reference expression
 - Call expression
 - String literal expression
Implement parser for statements and expressions

The following statements can now be parsed:

 - Null statements
 - Expression statements

As well as the following expressions:

 - Reference expression
 - Call expression
 - String literal expression
Merge branch 'feature-gearc-parsing' into gearc

* feature-gearc-parsing:
  Implement parser for statements and expressions
  Add Statement and Expression AST node types
  Add lexer for string literals
  Add identifier, '(', ')', ',' and ';' lexers
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