patch: pass in context objects into diffhunks() (API)
It's a pretty low-level function and having the contexts in
patch.diff() makes future patches easier.
Differential Revision: https://phab.mercurial-scm.org/D5891
local test passed
addgroupcopy test passed
clone test passed
lowlevelcopy test passed
slicing test passed
issnapshot test passed
findsnapshot test passed