Generates initial project structure.
Implements parsing.
Makes the invalid value message a little better.
Implements parse-file.
Parses %locals statement.
Cleans up usage of comparison operator.
Renames top-level-statement to statement.
Changes defproc body to parse statements, not assembly statements.
Tags invoke forms parsed in statement context.
Allows void defprocs that have a statement at the end of their body.
Cleans up defproc parsing.

Makes statements and values separate attributes of defproc.
Miscellaneous clean-ups.
Improves error handling for %locals form.
Allows empty params for defproc.
Allows no argument invocations.
Works with a seq of exps during parsing.
Makes symbol tag default to sint64, if not specified.
Makes %locals part of defproc syntax.

%locals was serving three purposes:
  1. declaration of locals
  2. declaration of their types
  3. delimiting their live ranges

Since live ranges can overlap it doesn't make sense to have a block
statement for delimiting live ranges.

%locals now simply declares locals and their types for the body of a
defproc.
Implements AST visitor.
Beginning of x86 specific parsing.

- Parses registers
- Parses implicit operands for DIV instruction