git-common-dir: make "modules/" per-working-directory directory

Each working directory of main repository has its own working directory
of submodule, and in most cases they should be checked out to different
revisions. So they should be separated.

It looks logical to make submodule instances in different working
directories to reuse the submodule directory in the common dir of
the main repository, and probably this is how "checkout --to" should
initialize them called on the main repository, but they also should work
fine being completely separated clones.

Testfile t7410-submodule-checkout-to.sh demostrates the behavior.
Merge 'my-gh/use_git_path_submodule_v2'
t7410: ability to be linked
path: implement common_dir handling in git_path_submodule()

Same as for .git, but ignores the GIT_COMMON_DIR environment
variable.

This allows making submodules a linked workdirs.
Doc: fix formatting
Merge 'tmp/multiple_work_trees_dev'