magit-insert-untracked-files: if there are none abort earlier

Check whether there are any untracked file before starting to create the
section.  This avoids having to cancel the section if there are none.
add support for not washing sections until they are expanded

Actually this also allows delaying the insertion too.  Which is
just what we do now by splitting `magit-insert-wazzup-cherries'
from `magit-insert-wazzup-commits'.
Merge branch 'n/wash-later' into next
add support for turning module changes into a log

Teach `magit-wash-diff' how to use sections for commits in modified
submodules.  This assumes `diff.submodule=log'; `short' submodule diffs
are shown as before.  Also teach `magit-show-commit' how to visit such
module commits.

Unfortunately that means that `git log' has to be run for each modified
submodule, because `git diff' does not print the commit hashes and also
because it omits some commits that it shouldn't omit.  It would therefor
be better to delay inserting and washing the body of the "diff submodule"
section until it is actually expanded.  But *implementing* that has to
be delayed, until the section primitives have been sanitized some more.
Merge branch 'n/submodule-log' into next