Add an 'empty' instruction

This is used to insert an empty commit into an integration branch.  For
example, in git.git the maintainer inserts an empty "### match next"
commit into the 'pu' branch to indicate that that point should be
tree-identical with the head of the 'next' branch.

Suggested-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: John Keeping <john@keeping.me.uk>
Merge branch 'empty-instruction' into pu

* branch empty-instruction:
  Add an 'empty' instruction

Add an "empty" instruction to allow the insertion of empty commits to
annotate points in an integration branch.
Merge branch 'exec-instruction' into pu

* branch exec-instruction:
  Add an "exec" instruction
  Avoid opening the same file twice

Add an "exec" instruction to permit the execution of arbitrary
commands.

The security aspects of this might need some more thought; perhaps the
"exec" instruction should be disabled unless a config key is set.

Conflicts:
	git-integration.sh