(CFACT-50) Modify lookup for Win-specific lib names.

OpenSSL and YAML use different library names on Windows.
(CFACT-50) Fix VC++12 errors on Windows

Default move constructors and assignment operators from C++11 are
unsupported in Visual Studio 2013.
(CFACT-50) Replace POSIX strncasecmp

Use boost ilexicographical_compare for portable case-insensitive
string compare, with Boost Range concepts for fast substring operation.
(CFACT-50) Add link_directories

Required so DLLs can be found on Windows.
(CFACT-50) Add doc for setting up Windows build.
(CFACT-50) Resolve review comments.

Make move constructor/assignment explicitly defined in all compilers.
Move definitions to the source files so we can use forward-declaration
with YAML and RE2.
Merge pull request #75 from MikaelSmith/task/master/CFACT50-compile-facter-objects

(CFACT-50) Fix compilation with Visual Studio.