[DDMD] Convert idgen to D

Host D compilers are now available on most platforms, let's see how this goes...

Previous pull: #2783
This construction looks dangerous. If the host compiler fails, `dmd.conf` will not be restored. Is there a way to tell DMD on the command line to ignore a config file, or to use a specific one? (same in the Windows Makefile)