Initial clone of VError v1.4.0.
This version converts any undefined or null arguments to VError to string so sprintf will not throw an Error