Fix whitespace handling for img tags

"<img> content" is beautified to become "<img>content".  However, the
space should be preserved, as it has meaning.  This commit fixes this
issue by being more careful to preserve whitespace in the appropriate
places.
Fix indentation
Allow custom elements to be unformatted
Tokenize numbers including decimal and exponent as part of one token.

Fixes #488
End strings at new line unless continued by backslash

Fixes #505
Leave spaces around operators that would be ambiguous without them

Fixes #514
Make css beautifier do base indent without new lines

Fixes #523
Function declarations inside of expressions and arrays should behave the same

Fixes #485
Treat get and set outside of ObjectLiteral as non-reserved

Fixes #508
Reserved words can be used as object property names

Fixes #440
Merge pull request #540 from domenic/custom-elements-unformatted

Allow custom elements to be unformatted
Test for scientific notation

Closes #541
Add CHANGELOG.md and script to generate it

Fixes #526
Handle another if-else scenario with braces

Fixes #311
Add "end_with_newline" option throughout and make consistent

-n, --end_with_newline added to all beautifiers

This changes to the way the command-line produces output.
Piped output and file output is now the same, and by default will not add a newline at the end.
Ending with newline is respected when passed via html beautifier to css or js beautifier.

Fixing this also exposed a number of holes tests and test framework.

Fixes #492
css colon character fix port to python

Closes #446
Closes #418
Initial very cursory support for es6 modules

Doing this right will take work on the same level as if statements.
Getting so it behaves vaguely okay in some situations, I can do right now.

Related to #382
1.5.2
Python 1.5.2
bower 1.5.2