Teach apply the --[no-]recurse-submodules option

This new option will allow the user to not only update the work tree of
the superproject according to the checked out commit but to also update
the work tree of all initialized submodules (so they match the SHA-1
recorded in the superproject). But this commit only adds the option
without any functionality, that will be added to unpack_trees() in
subsequent commits.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
fixup! Teach reset the --[no-]recurse-submodules option

- add option to synopsis
fixup! Teach merge the --[no-]recurse-submodules option

- add option to synopsis
fixup! Teach read-tree the --[no-]recurse-submodules option

- add option to synopsis
fixup! Teach checkout the --[no-]recurse-submodules option

- add option to synopsis
Teach cherry-pick and revert the --[no-]recurse-submodules option

This new option will allow the user to not only update the work tree of
the superproject according to the checked out commit but to also update
the work tree of all initialized submodules (so they match the SHA-1
recorded in the superproject). But this commit only adds the option
without any functionality, that will be added to unpack_trees() in
subsequent commits.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
!!! WIP !!! use recursive tests

Still missing are:
- t3426-rebase-submodule.sh
- t3906-stash-submodule.sh
- t4255-am-submodule.sh
- t5572-pull-submodule.sh