Make `DefaultsError` a real `Error` object
Better reporting of parse errors
Fix parsing regexp after unary-prefix operator

++/x/.y

Fix #284
Fix parsing `a.case /= 1`

Close #286
Better fix for #286
Disallow `continue` referring to a non-IterationStatement.  Fix #287

Simplifies handling of labels (their definition/references can be easily
figured out at parse time, no need to do it in `figure_out_scope`).
Fix names.
minor
Support HTML5 comment syntax (enabled by default!)

See http://javascript.spec.whatwg.org/#comment-syntax
    https://github.com/mishoo/UglifyJS/issues/503
    https://github.com/marijnh/acorn/issues/62
Avoid printing <!-- in the output (HTML5 comment)
Concatenate strings also on the right-hand side of an expression that cannot be evaluated. Fix #126

E.g. converts:
  a+'Hello'+'World'
to
  a+'HelloWorld'
When `unsafe` is set, evaluate [...].join() if possible

Close #298
Evaluate [...].join() if possible: minor bugfix

Follow-up to 78e98d2.
More dirty handling of [ ... ].join() in unsafe mode

Close #300
Actually let's move away those monsters from the evaluate function

ev() should do a single thing — evaluate constant expressions.  if that's
not possible, just return the original node.  it's not the best place for
partial evaluation there, instead doing it in the compress functions.
More attempts to determine when addition is associative

Somebody hit me with bug reports on this. :)

Refs #300
Fix error in the output minifying `Function("return this")()`
minor optimization

unlikely to help in hand-written code:

    (something() ? foo : bar) == foo  ==>  something()
add `clean_getters` compressor option (default `false`)

allows one to specify if `foo.bar` is considered to have side effects.
Only allow identifier start characters at the beginning of identifiers.

Without this fix, the following source:

   x = {"\u200c": 42};

would incorrectly be converted into a quoteless key. But while \u200c is allowed
to be in identifiers, it cannot be at the beginning, as per ES5.

(For example, the SockJS client library doesn't work under uglify starting with
d9ad3c7c.)