Fix bug in "ignore" option behavior

Ensure source code between JSHint "ignore" directives even in the
following cases:

- the line ends in a character sequence that superficially appears to
  be an "end multiline comment" token
- the line ends with a comment that is defined with the multiline
  comment tokens but only spans a single line

Resolves GH-1396
Resolves GH-1691
Add WebGL browser globals

Specification: https://www.khronos.org/registry/webgl/specs/1.0/
Formal parameter names can be the same as function name. Fixes gh-1928
Intl global in ECMAScript Internationalization API 1.0 (ECMA-402)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl
Update jshint.rc options order

Exchange order of `forin` and `freeze` option in jshintrc. Make the order same as http://jshint.com/docs/options/
Merge branch 'gh-1691-fix-ignore' of https://github.com/jugglinmike/jshint

* 'gh-1691-fix-ignore' of https://github.com/jugglinmike/jshint:
  Fix bug in "ignore" option behavior
Merge branch 'patch-1' of https://github.com/turadg/jshint into turadg-patch-1

* 'patch-1' of https://github.com/turadg/jshint:
  Intl global in ECMAScript Internationalization API 1.0 (ECMA-402)
New reporter that respects Unix output conventions

Most preprocessors and compilers use the format
"FILENAME:LINE:COL:MESSAGE" for logging errors to stderr. This
makes the report machine readable by existing tools.

Also many text editors lets you navigate directly to that location
when activated.
Namespace valid options

This avoids a problem where the keys of nested options objects were
considered valid options themselves.
Ignore Object prototype when looking up options
Correct line number reported with "empty block"

Ensure the warning references the line of the opening brace of the block
body.

Resolves gh-1700
Improve null-reference-accepting operators

Operators `typeof` and `delete` both accept null references, so JSHint
should not warn when their sole operand is a undefined variable, nor
should that identifier be included in the `implieds` array of the
generated report.

A runtime error will occur if the operand is an expression containing
the undefined identifier, so a warning should be issued in this case.

This patch also addresses an existing bug where property identifiers
with values "typeof" or "delete" were incorrectly interpreted as unary
operators when marking variables as unused.

Resolves gh-1881
Remove WebGL items which are not globally exposed
Merge pull request #1965 from michaelhogg/webgl-globals

Add WebGL browser globals
Add nocomma option to forbid use of a comma operator
nocomma: clean up quote style
nocomma: fix a failing case of a pure expression
Merge pull request #1876 from denis-sokolov/nocomma

Add nocomma option to forbid use of a comma operator
Add AppVeyor testing.
Update AppVeyor badge to display status of master