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.