Fix token caching that was broken by commit 1ad1a81

* processTitleAndTemplate was implicitly using the template name
  as a cache key.  This is okay when we use our own pipeline to
  expand templates since the tokens of a fetched template won't
  change across uses since the tpl tokens dont have parameters
  substituted in them yet.  However, when we use the PHP preprocessor
  to expand the tpls. for us, the wikitext we get has parameters
  substituted in them already.  So, the template name is not the
  right cache key -- name + args (or source wikitext sent to the
  preprocessor) is the correct key.

* Updated interface of processTitleAndTemplate to explicitly
  accept a cache-key that can be passed into the expansion pipeline
  and passed name/wikitext in the two use cases above.

* This fixes incorrect parse output found on en:Barack Obama and
  possibly several others.

Change-Id: Ia2c12353399cca9d50e3020f6ddcf0bd69bc887d