Make `DefaultsError` a real `Error` object
Do not lift sequence from right-hand side of binary operation.  Fix #343
v2.4.3
Better fix for #343

We can in fact lift sequences, but only if the operation is assignment and
the left-hand side has no side effects nor property access -- that should
guarantee that whatever we place before it cannot affect the sense of the
assignment.

Dropped contrived test case (too hard to support it now), added a more
meaningful one.
Only descend twice after drop_unused if it's the same node type.

Fix #345
Fix faulty compression

`String(x + 5)` is not always the same as `x + "5"`.  Overlooked that. :-(

Close #350
v2.4.4
Add --noerr to turn off argument name checking

for now only used for keys passed to `-c` or `-b`.
v2.4.5
v2.4.6, because npm is foobar
Properly scope `catch` identifier when --screw-ie8

Fix #344
AST_Catch shouldn't really inherit from AST_Scope.  Fix #363

I hereby acknowledge that figure_out_scope has become a mess.
v2.4.7
minor
Add `drop_console` option to the compressor
Merge pull request #245 from ForbesLindesay/patch-1

Make `DefaultsError` a real `Error` object
semicolons
bugfix #242
Merge pull request #371 from colorhook/master

bugfix #242
minor