status/commit: always show staged submodules regardless of ignore config

Currently setting submodule.<name>.ignore and/or diff.ignoreSubmodules to
"all" suppresses all output of submodule changes for the diff family,
status and commit. For status and commit this is really confusing, as it
even when the user chooses to record a new commit for an ignored submodule
by adding it manually this change won't show up under the to-be-committed
changes. To add insult to injury, a later "git commit" will error out with
"nothing to commit" when only ignored submodules are staged.

Fix that by making wt_status always print staged submodule changes, no
matter what ignore settings are configured. The only exception is when the
user explicitly uses the "--ignore-submodules=all" command line option, in
that case the submodule output is still suppressed. This also makes "git
commit" work again when only modifications of ignored submodules are
staged, as that command uses the "commitable" member of the wt_status
struct to determine if staged changes are present.

Change t7508 to reflect this new behavior. Also document it in the
documentation of the ignore config options.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
!!! WIP !!! commit: correctly handle ignored submodules


Add a test to t7508 to show that a single staged submodule configured to
be ignored will be committed.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
!!! WIP !!! submodule summary --for-status: show staged submodules regardless of ignore config

TODO: print unstaged submodules in summary output for --ignore-submodules=none
!!! WIP !!! gitk: show staged submodules regardless of ignore config

TODO: git gui too please