D: Implement DDeps dependency scanner

This replaces the previous approach of using the D compiler for
dependency scanning. This is used by Makefile and Ninja based
generators.