Generalize common compiler switches in the form of a BuildOptions enum.

Related changes:
 - translation of DMD compiler switches to other compilers is generalized
 - application of build requirements is generalized
 - added support for debug versions
 - supporting almost all compiler settings for generated VisualD projects now