Make `DefaultsError` a real `Error` object
Add an exit code to the test suite

By adding the exit code 1 (or any other non-zero exit code) `npm test`
will know the tests didn't perform correctly. This way it's easier to
know if pull requests are good or bad.
Merge pull request #322 from rvanvelzen/test-exit-code-1

Add an exit code to the test suite
Fix #280

The `init` of the `ForStatement` is not a `BlockStatement` before it was
descended. The descend has to happen first, and *then* the actual
checks.
Merge pull request #323 from rvanvelzen/undefined-drop-vars-fix

Fix #280
Fix #269

Shorten most primitives where possible. Also optimize some edge cases.
Merge pull request #325 from rvanvelzen/fix-269

Fix #269
Add a unit test for issue-126 

Add a unit test to test to test for aggressive parenthesis removal that causes functional changes.
Fix RHS concat (raised in #330)

When attempting to concat the left-side of the rhs, make sure the rhs is
a string.
Merge pull request #331 from rvanvelzen/rhs-strings-fix

Fix RHS concat (raised in #330)
Merge pull request #330 from markjaquith/master

Unit test to detect issue in 8d14efe for #126 that causes aggressive parenthesis removal, functional differences
Display number of failed tests and corresponding files
Merge branch 'master' of github.com:mishoo/UglifyJS2
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