Relax restriction on parens around function exprs

Parenthesis are required to dereference anonymous function expressions
with bracket notation.
Add Encoding API to browser env

Specification: https://encoding.spec.whatwg.org/
Merge similar code paths

The paths for ES5 "getter" and "setter" attributes share enough code to
warrant combination.
Add test for W025

This warning was not previously covered by the test suite.
Refactor warning generation

Instead of checking for this warning with every identifier, limit checks
for this warning to cases where the `function` keyword is being
processed as part of a block statement. This approach is more efficient
and more readable.
Make object short notation work if there's a linefeed before end

Fixes #1923
Closes #1924
Fix ASI rules for directives. Fixes gh-1906
Merge pull request #1901 from realityking/patch-1

Add Encoding API to browser env. Specification: https://encoding.spec.whatwg.org/
Merge pull request #1898 from jugglinmike/allow-immed-with-brackets

Relax restriction on parens around function exprs
Merge pull request #1903 from jugglinmike/get-set-paths

Merge similar code paths
Merge pull request #1907 from jugglinmike/refactor-unnamed-fn-test

Refactor W025 Generation
Merge pull request #1912 from caitp/issue-1906

Fix ASI rules for directives. Fixes gh-1906
Updates bin/build to latest browserify bundle api changes
v2.5.7
Omit merges from changlog
Only treat props named "[" as computed prop when punctuator. Fixes gh-1926
Merge pull request #1927 from jshint/1926

Only treat props named "[" as computed prop when punctuator. Fixes gh-1926