Fix a bunch of jshint warnings.

Most of these warnings are globals defined in mediawiki.parser.defines.js,
which we turn into proper local variables.  But there are a grab page of
other use-before-def, missing semicolon, bad line break, and other minor
warnings.

No tricky stuff attempted in this patch, this should be safe obvious
fixes only... although there is a nasty circular dependency between
Util and parser.defines which had to be broken.

Change-Id: I8810da3a5ec287d7ae9078463ba01472a87a492e
Exterminate global usage in defines

We used to define a few constructors and some state on the global object to
make it available to the PEG tokenizer. We have since found a way to pass the
state into the PEG tokenizer, but a few constructors were still added to the
global object in the defines module. The predecessor patch
I8810da3a5ec287d7ae9078463ba01472a87a492e adds explicit local definitions in
most remaining places. This patch finally does the same for the tokenizer and
removes the global definitions altogether.

Change-Id: If0ada2ea04b680b90caeb4fa76c46ca272e78d43
Merge changes If0ada2ea,I8810da3a

* changes:
  Exterminate global usage in defines
  Fix a bunch of jshint warnings.