Merge pull request #437 from bitwiseman/master

Update dependencies to current versions
Fix #402: support ES6 fat arrow
Add support for ES6 template strings
Consider var, let and const as equal
Merge pull request #434 from Marsup/feature/template_strings

Add support for ES6 template strings
Merge pull request #433 from Marsup/feature/fat_arrow

Fix #402: support ES6 fat arrow
Merge pull request #435 from Marsup/feature/var_let_const

Consider var, let and const as equal
Support for keywords as IdentifierNames such as .catch()

This supports calling libraries which declare properties of objects using reserved words.
This does not support declaring these fields.

`var a = { 'throw': function() {} }` - works
`a.throw()` - works
`var a = { throw: function() {} }` - does not work

Fixes #309
Fixes #351
Fixes #368
Fixes #378
Merge pull request #439 from bitwiseman/reserved-words

Support for keywords as IdentifierNames such as .catch()
Support for non-ASCII characters in variable names

Fixes #305
Merge pull request #441 from bitwiseman/unicode-names

Support for non-ASCII characters in variable names
Allow operators as wrap points when they follow another operator

Fixes #374
Merge pull request #442 from bitwiseman/operator-wrap

Allow operators as wrap points when they follow another operator
Reduce repetion in line wrap test input declaration

There's clarity and then there's too much...
Rewrite declaration var, let, const indenting

Fixes  #256, #430
Additional declaration tweaks based on a few more test inputs
Merge pull request #444 from bitwiseman/var-indent

Rewrite declaration var, let, const indenting
Do not add space after !!

For some reason we decided to treat `!!` as one operator.  It isn't.
Add a test to cover this.

Fixes #297
Improve keep-array-indentation behavior

Still more work to be done here. Opened #445

Fixes #340
Closes #333
Improve statement wrapping across new lines

Fixes #289