Ugly hack to print comments before return/throw statements

Close #112
Fix handling of constants

Close #113
Fix parens for AST_New

Close #114
Fix parens for negative numbers

Close #115
Fix parens for NaN

Close #116
Give up evaluating (unary-prefix '-' 0)

Close #117

------

    JS, WHY YOU SUCK SO BADLY? ;-(
Force space after literal regexp when used in "instanceof" or "in"

Close #118
Allow inSourceMap to be a generated JSON source map instead of just a file name
v2.2.5
Fix compressing `do {...} while (false)`

It's not safe to transform it to {...} because the body might contain
`break`.  The solution could be more elaborate (detect if body contains
`break`) but I don't think it's worth the trouble.

Close #129
Add license

Close #131
Compress boolean constants after evaluation

Close #137
Drop last `default:` if it's the last branch and empty

Close #141
Add `--screw-ie` option

For now the implication is that UglifyJS will not leak a function
expression's name in the surrounding scope (IE < 9 does that).

(ref. mishoo/UglifyJS#485)
Fix reordering comparisons

Close #143
Read the entire STDIN.

The problem with reading synchronously from /dev/stdin is that you can get a
spurious EOF when the input buffer is empty, even if more content is coming. Now
STDIN is read from a loop, and only stops polling when all input has been read.
This fixes #70 #85 and other errors related to parsing large files on STDIN.
Merge pull request #146 from mbostock/read-all-stdin

Read the entire STDIN.
Disable `unsafe` by default

Close #147
Support mangling toplevel names

Close #127
Merge pull request #125 from devongovett/master

Allow inSourceMap option to be a generated JSON source map