(CFACT-121) Implement dynamic loading of the ruby dll on Windows

Adds defines for Windows _access and _waccess calls, to make them similar to Linux.
Adds a scoped_error class for Windows system error messages.
Adds execution::which, implemented identically to Facter's method.
Simplifies POSIX api::find_library with use of tie for comparison and assignment.
Implements Windows api::find_library, dynamic_library::load, and dynamic_library::find_symbol to facilitate loading the Ruby dll.
(CFACT-121) Restore search on 'ruby'

Changed search to ruby.exe during development, but that was due to incomplete behavior on execution::which.
Restored the search to look for 'ruby' instead of 'ruby.exe'.
(CFACT-121) Fix check for executable file

Corrected a typo: the environment variable is PATHEXT (not EXTPATH).
Digging through the Ruby source code shows that File.executable? eventually
just checks that the file is a directory, or a file with the extension
bat, .cmd, .com, .exe. So we re-use extpath_helper to implement the original
intent of the Facter execution::which method.
(CFACT-121) Implement find_by_pattern and minor fixes

Implemented find_by_pattern, which searches loaded DLLs for one that matches the
specified pattern and returns a handle to it in the form of a dynamic_library.
Fixed const and & correctness of helper functions.
Changed Ruby library version comparisons to use int instead of string.
(maint) Add --trace option for low-level logging

Targets logging that may be useful in debugging, but rarely, and occurs frequently enough that
it clutters the output.
(CFACT-121) Check that a sub_match is valid before using lexical_cast

This is required to handle optional arguments without throwing an exception.
Fixes matching short libruby names like libruby20.dll or libruby.dylib after
changing to use int for version comparison.
Merge branch 'task/master/CFACT-121-implement-ruby-facts-on-Windows' into task/master/CFACT-91-implement-external-facts-on-Windows

Conflicts:
	lib/src/execution/windows/execution.cc