Tokenizer fixes for pre and nowiki parsing.

* pre_indent_in_tags production was incrementing the 'pre' stop
  late in the production but decrementing it if the production
  failed to match. This led to the stops counter going pretty
  negative (-5 in some cases) even when the pre-tags weren't
  unbalanced.  Fixed it by moving the increment as the first
  thing the production does.

* Split the nowiki production from 2 rules to 3 rules:
  - <nowiki> .. </nowiki>
     -- treated as nowiki
  - <nowiki />
     -- treated as nowiki with mw:Placeholder meta
  - unbalanced <nowiki> or </nowiki> tags in pre-context.
     -- treated as plain text with mw:Placeholder span tags.
     -- Fixed rule to explictly required stops.counter.pre to
        be > 0 (in case it is negative -- although not sure
        if this going to be the case anymore with the fix
        above)

* Minor syntactic fixes (added missing ; in a few places and
  replace foo['bar'] with foo.bar accessor).

* No change in parser test results, but there are diffs.
  in parser test output.  The diffs are all for the better and
  could result in more tests passing with other unrelated fixes.

* These fixes also brings the test results in the chunky tokenizer
  patch to parity with the a full-tokenizing-in-one-pass runs.

Change-Id: If3d461195431883c718d0becb3264fc270fdaf82