PARSER: make let bindings truly local, add quick sort to functional tests.
PARSER: use closures for do forms, to allow returning the value of the last
expression.
PARSER: prepend '__$' to generated identifiers, to prevent name clashes with
user-defined identifiers.
MISC: ensure lib/ directory exists before building the parser.