(CFACT-50) Fix compilation with Visual Studio.

A number of changes required to build with Visual Studio on Windows.

OpenSSL has different names for the libraries (crypto maps to libeay).
YAML-CPP can have a different name format.
Default move constructors and assignment operators from C++11 aren't implemented in Visual Studio 2013 (or 14 CTP): http://msdn.microsoft.com/en-us/library/hh567368.aspx#defaultedanddeleted
strncasecmp is a POSIX function; Windows has a different name for it. There's a Boost equivalent using ilexicographical_compare that I used instead, with Boost's Range concepts to avoid copying the string while iterating over a substring.
link_directories is required on Windows so DLLs can be found from the specified .libs

Oh wait, I bet this is due to your inlining of the move constructor / move assignment operators (they would need the complete definition).  Could you move them into the .cc and replace the forward declaration and see if that solves the issue?