Consistently use previous renders for html2wt conversion
Consistently use previous renders for html2wt conversion

Previously we didn't properly handle template re-renders in the middle of an
edit. The HTML and data-parsoid passed to Parsoid would always use the latest
render, which was potentially out of sync with the original render. This could
lead to dirty diffs.

This patch addresses this by:

- accepting an 'If-Match' header in transform methods, which is expected to
  contain the Etag (timeuuid) returned by the original HTML / data-parsoid
- Also, as a convenient way to support this quickly in current VE, injecting
  the timeuuid in a meta tag in the head section of the saved HTML & plucking
  that back out if no If-Match header was provided.

Bug: https://phabricator.wikimedia.org/T94422

wikimedia/restbase,inverno/restbase,wikimedia/mediawiki-services-restbase,cscott/restbase,inverno/restbase,d00rman/restbase,Krenair/restbase,eevans/restbase,wikimedia/restbase,Pchelolo/restbase,physikerwelt/restbase,gwicke/restbase,d00rman/restbase,eevans/restbase,Pchelolo/restbase,Krenair/restbase,physikerwelt/restbase,milimetric/restbase,cscott/restbase,wikimedia/hyperswitch,wikimedia/mediawiki-services-restbase,milimetric/restbase,gwicke/restbase