Fix codegen for when comments_before is undefined.

Fix #333
Add "preamble" output option

Close #335
Avoid shadowing name of function expression with function argument

Close #179, #326, #327
Fix reading arguments

i.e. read `-c unsafe,unsafe-comps` as `-c unsafe=true,unsafe_comps=true`
Fix typo
Disallow reversal where lhs has higher or equal precedence

Fixes #267
minor
Fix output for `x = 2 * (a % b / b * c)`

(issue #337)
indentation
Fix regression after e4c530240650535d1cb46569dfb013193471af05

`x * (y * z)` ==> `x * y * z` -- the better place to do this is in the
compressor rather than codegen.
Fix parsing setters/getters (allow keywords for name).

The "key" property was always "set" or "get", which didn't make much sense.
Now it'll be the actual name of the setter/getter (AST_Node), and the
AST_Accessor object itself, which represents the function, won't store any
name.

Close #319
Workaround for Safari bug

Close #313