CM-1582 (Mark/Cory) Implement Win32 API bindings needed to support MMS Automation Agent

@markbenvenuto @corymintz
Ideally, yes, but if you look at the Win32 API functions taking strings that have wrappers provided by the Go runtime, they all take strings as '*uint16`, so I wanted to keep it consistent with what they do.  My best guess as to why is that the Go string data type can't be null, so this makes it possible to pass in a null pointer for a string parameter.