DeltaJen: add more hooks

Custom patching will allow for a file to be patched
in a different manner to the stock method.

Custom verifying will allow a file to verified differently,
for example, to be checked against more sha1sums.

Custom applying will allow a file to be applied differently,
for example if xdelta is used, you can't use edify directly.