(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.
Cpplint still complains if they're missing. I figured Peter was already addressing that in his refactoring.

Michael

> On Sep 17, 2014, at 21:24, Kylo Ginsberg <notifications@github.com> wrote:
> 
> In lib/inc/facter/util/windows/file.hpp:
> 
> > @@ -0,0 +1,17 @@
> > +#pragma once
> > +#ifndef FACTER_UTIL_WINDOWS_FILE_HPP_
> > +#define FACTER_UTIL_WINDOWS_FILE_HPP_
> I haven't used #pragma once but I thought the whole point of it was so you could do without include guards?
> 
> —
> Reply to this email directly or view it on GitHub.