[DDMD] Do not use va_list across layer boundary

This one is tricky.  In C++ or at least with dmc, va_list is a `char *`.  But in D/druntime, it's a `void *`.  This means the mangling is different for `verror` and it can't be used from whichever language it isn't implemented in.

Any better ideas?