ls(-files): add -M to show "diff --cached" entries

With this, "ls -mR" shows you all changed files in worktree, "ls -MR"
in cache, or "ls -MmR" both (entries will be duplicate). diff-cached
files are bright magenta by default.

FIXME: what about color for -m?
FIXME: -M does not play nice with -c
FIXME: color for -o too
FIXME: if only one criteria is given (e.g. either -o or -m or -M) then
FIXME: fall back to file-based colors. More than one criteria, use -o/-m/-M
FIXME: colors.