Allow user-specified merge options

When adding a git-gui specific change to my git.git integration branch,
the merge needs the 'subtree' strategy to be used since git-gui is
developed independently and periodically merged into git.git as a
subtree.

In order to accommodate this, allow options to be specified after the
ref name in a 'merge' instruction and pass these options directly to
git-merge.  It would be nice to permit the ref and options to be given
in any order but that would require git-integration to know about all
options to git-merge (in order to handle unstuck arguments to options)
and I don't think that's necessary at the moment.

Signed-off-by: John Keeping <john@keeping.me.uk>
Add '--cat' to print the instruction sheet

Signed-off-by: John Keeping <john@keeping.me.uk>
t3001: use '--cat' to get the instruction sheet

This is simpler than using a custom editor to extract the instruction
sheet for the integration branch.

Signed-off-by: John Keeping <john@keeping.me.uk>
Merge branch 'cat-command'

Adds a way to get the contents of the instruction sheet without needing
to know implementation details.

* cat-command:
  t3001: use '--cat' to get the instruction sheet
  Add '--cat' to print the instruction sheet
Merge branch 'merge-options'

Adds a way to specify custom merge strategies for integration branches,
for example if a branch should be merged as a subtree.

* merge-options:
  Allow user-specified merge options