Change the OpenVDSInterface to use an ErrorHandler callback
Change the OpenVDSInterface to use an ErrorHandler callback to set the error so it doesn't depend on the allocator being the same on the inside of the library as in the client application. Assigning std::string from the inside to a std::string reference from the outside fails when the allocators are not the same, so we need the interface to use C-string.