Fix arguments to PegTokenizer constructor.

The 'canCache' argument to the PegTokenizer constructor was added in
commit bf84638bc0f59c8dc703374b37626a7d63fe4c1f to avoid tokenizing the
same template multiple times when we used our native template pipeline
for everything.  It rotted almost immediately; commit
8368e17d6a49d8ba028515a78ecc189632bff39b changed the second argument of
the constructor so it was an options hash, and commit
814511f523cd26a43509dbdbb2a798394cb2f60c removed the only place which
passed a boolean as the second constructor argument.

Since we don't use the caching stuff any more, this patch effectively
sets canCache = false for all PegTokenizer instances.

Change-Id: I13e0225537e7cb302305977d8ad52dc4eac84ff7
Generalized operation of TokenStreamPatcher a bit.

* The token stream patcher is a workaround/hack to deal with
  limitations of not having a preprocessing tpl-expansion.
  So far, it had a special case for tackling re-parsing of
  table tags and nothing else.

* This cleans up the argument handling a bit and adds a buffer,
  borrowed from change I54bed19d4a3ab1a096d8756fe62667b59fa0cdf4.

* No change in behavior; no change in parser test results.

Co-authored-by: C. Scott Ananian <cscott@cscott.net>
Co-authored-by: Subramanya Sastry <ssastry@wikimedia.org>
Change-Id: Id974296f96ae6e222adad91b87dc3cbfd4e5fe30
Merge changes Id974296f,I13e02255

* changes:
  Generalized operation of TokenStreamPatcher a bit.
  Fix arguments to PegTokenizer constructor.