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
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
[README] Fix #278
v2.4.2