Fix Connection::Name() on Microsoft Windows.

* Improve the error reporting in `Connection::Name`.  Now, instead of saying `(error)`, it'll actually say where and why the name resolution failed.
* Use the above to figure out why this was broken.  Turns out that, on Windows, `namelen` _has_ to be initialised with the size of `s`.  This is probably what we were supposed to do all along, but, for some reason, FreeBSD etc. don't mind if we don't.

tl;dr: fixes #67 

r? @wlcx. @LordAro 
is the explicit std::string initialisation necessary? (also below)