Do utf-16 to utf-8 conversion on marshalling from C# to VW

This set of patches modifies vwdll to have two copies of the functions that take character string arguments, one with 16 bit characters and the old for with 8 bit characters. The new functions convert the unicode to a utf-8 form and pass it into the old function which has been renamed with an A (for ansi, but really utf, in a Windows NT convention).
The test case is adding a unicode character that is not in ascii to a hash feature argument and looking at it in vwdll.cpp in the debugger.