(CFACT-91) Implement external facts on Windows

Add Windows external facts and execution infrastructure supporting it. Also ends up filling in Ruby custom fact support.
These two need doc comments.