D: Change ddeps options handling to use explicit modes
D: Remove user-facing ddeps usage

Keeping a large, accurate description of the usage only creates excess
output when something goes wrong with CMake/DDeps. DDeps isn't meant
to be called directly by users anyway.

Added documentation of its usage to the source code in case
someone actually needs it.
D: Make ddeps and cmDependsD write depend.internal

This allows updating dependency information to actually
work with Makefile-based generators.
D: Fix circular dependency issue with Ninja

Make ddeps able to write dependencies in a single line if needed.
D: Fix ddeps cache handling

* Remove redundant lock file
* Prevent top-level cache manifest from being ignored
* Sanitize per-config cache directory after CMakeCache.txt changes
D: Fix ddeps compiler passthrough for Ninja

Propagate stdout, stderr and the return value.