Fix issues #222 and #324
when the statement of a for is not empty, check if it requires semicolon

fixes #396
Optimize list of digits for generating identifiers for gzip compression.

The list is based on reserved words and identifiers used in dot-expressions. It saves a quite a few bytes.
Merge pull request #397 from rvanvelzen/optimize_gzip

Optimize list of digits for generating identifiers for gzip compression. (fixes #142)
Undo commit 133b36f54d0e8f78fc649e99983798bf05445b18

Using the tokenizer there slows down the code generator by orders of
magnitude (26s instead of 2s for 600K code).  It's not worth to trade so
many seconds for a couple extra-parens.

I hope the tree is in good shape now, except for issue #368.
Merge branch 'fix-222-and-324' of https://github.com/RGustBardon/UglifyJS into RGustBardon-fix-222-and-324
propagate newline_before for comment tokens (fixes #398)
when --unsafe, replace "foo".toString() with "foo", rather than "foo"+""

(fixes #399)
Add base54 digits override for unit tests.

Prevents unit tests from depending on how mangled variable name
generation is optimized for gzip compression.
Merge pull request #400 from proxv/override-digits-in-tests

Add base54 digits override for unit tests.
Also descend arg AST nodes in ast_squeeze function-call handler
Merge pull request #401 from proxv/ast-squeeze-call

Also descend arg AST nodes in ast_squeeze function-call handler
v1.3.0

- support for directives (i.e. "use strict";)
- newlines in multi-line comments trigger ASI
- added nodeunit dependency for NPM, other code restructuring
- apply ascii_only option to regexps
- allow defines when not mangling
- some parser/code generator fixes #376, #396
- (static) mangler optimization for gzip (#397)

Contributors (in no particular order):

Richard van Velzen <rvanvelzen@expert-shops.com>
Paul Baumgart <paul@proxv.com>
Mal Graty <mal.graty@googlemail.com>
Jez Ng <jezreel@gmail.com>
Robert Gust-Bardon <donate@robert.gust-bardon.org>
ast_mangle should, well, mangle by default. (fixes #404)
also don't mangle function names if !options.mangle (#404)
fix options for ast_mangle

issue #404
Remove unnecessary "+" sign in SignedInteger

A "+" sign is added unnecessarily for numbers like 1e21 (resulting in
1e+21) due to make_num using the Number.prototype.toString method
(15.7.4.2) which in turn performs the abstract operation ToString
(9.8) which adds the "+" sign in accordance with the last step of
9.8.1.

This patch removes the sign after the conversion in question by
replacing "e+" with "e".
Remove NOT in IfStatement with EmptyStatement (-s)

If the only statement of a nonterminal IfStatement is a nonterminal
EmptyStatement or a nonterminal IfStatement consists of two
nonterminal EmptyStatement symbols, such a statement is transformed
into a nonterminal ExpressionStatement that consists of a
UnaryExpression with the logical NOT operator and the expression found
in the nonterminal IfStatement.  The operator in question is
superfluous.

This patch omits the negation by detecting the described case earlier.
Merge pull request #407 from RGustBardon/1e+21

Remove unnecessary "+" sign in SignedInteger
Merge pull request #408 from RGustBardon/if-not

Remove NOT in IfStatement with EmptyStatement (-s)