Indent before inequality operator at bol

Fixes #174
Support object destructuring inside arrow function args

* js2-mode.el (js2-parse-plain-property): Don't move too far when
there's no colon.
(js2-parse-assign-expr): Restore the previous value of
`js2-parsed-errors' after arrow token is found.

Fixes #167
Indent after `+='

Closes #174
Check in LICENSE
Support short-hand object literals {foo, bar} everywhere.

This is specified in §12.2.5 of the draft spec (http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object-initializer) by the production [PropertyDefinition : IdentifierReference], and discussed e.g. in http://ariya.ofilabs.com/2013/02/es6-and-object-literal-property-value-shorthand.html.
Add ES6 class externs

These are delineated in §18.3 of the draft spec, Constructor Properties of the Global Object: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-constructor-properties-of-the-global-object.
Support method definitions in object literals.

This is specified in §14.3 of the current draft spec http://people.mozilla.org/~jorendorff/es6-draft.html#sec-method-definitions, and discussed with examples at http://ariya.ofilabs.com/2013/03/es6-and-method-definitions.html.
Add support for 'u' and 'y' RegExp flags in ES6 mode.

These flags are defined in §12.2.7.1 of the draft spec: http://people.mozilla.org/\~jorendorff/es6-draft.html\#sec-primary-expression-regular-expression-literals-static-semantics-early-errors (narrowing the RegularExpressionFlags production defined in §11.8.5).  The new flags are described at https://mathiasbynens.be/notes/es6-unicode-regex.
Support ES6 computed property names.

This is specified by the ComputedPropertyName production in §12.2.5 of the draft ES6 spec: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object-initializer, and discussed at https://github.com/lukehoban/es6features\#enhanced-object-literals.
Support orphan functions on the right side of assignments

* js2-imenu-extras.el (js2-imenu-extras-setup): Use the new hook
instead of `js2-post-parse-callbacks'.
(js2-imenu-record-orphan-function): Rename, update the caller.
(js2-imenu-record-orphan-assign-node-function): New function, to
handle orphan functions on the right side of assignments.
(js2-imenu-walk-ast): Use it.

* js2-mode.el (js2-build-imenu-callbacks): New hook variable.
(js2-browse-postprocess-chains): Use it.  Make it take no
arguments and be aware of `js2-imenu-recorder'.
(js2-wrapper-function-p): Check that the wrapped function is the
call's target.
(js2-build-imenu-index): Run `js2-browse-postprocess-chains' even
when `js2-imenu-recorder' is empty.  It might get modified in
callbacks.
(js2-browse-postprocess-chains): When skipping a function, remove
its entry from `js2-imenu-function-map'.

Based on
https://github.com/redguardtoo/js2-mode/commit/efc5d4704d260522d04b5642c844711ba1cfc7f7#commitcomment-8441004.
js2-imenu-record-module-pattern: Support `js2-var-init-node'

* Update `js2-imenu-walk-ast' accordingly.
js2-imenu-walk-ast: Look up js2-imenu-show-module-pattern in v-i-n case, too
Support ES6 class statements/expressions.

This is specified in §14.5 of the draft ES6 spec: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-class-definitions, and described via examples at https://github.com/lukehoban/es6features#enhanced-object-literals.  This commit does not yet add support for the 'static' keyword.
Support parsing the ES6 'static' keyword.

This is defined in the ClassElement production in §14.5 of the draft ES6 spec: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-class-definitions, and usage examples are available at e.g. https://github.com/lukehoban/es6features#classes.
Support parsing the ES6 'super' keyword.

This is basically implemented by imitating the handling of 'this', since they behave in very similar ways.  The keyword is defined in the various productions in §12.3 of the draft ES6 spec: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-left-hand-side-expressions, and usage examples are available at e.g. https://github.com/lukehoban/es6features#classes.
Fix string literals in parser.el test harness.

Previously all string literals in tests would fail, because they referred to a temporary buffer that no longer exists.  This fix works around this by extending the life of the temporary input buffer.
Fix toggling single-line comments

Fixes #179
Merge pull request #180 from simenheg/master

Fix toggling single-line comments
Bump the version
Handle orphan functions on the right side of js2-var-init-node

Fixes #182