(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.
One more attempt. If this doesn't meet your approval, I'll go back to the initial implementation (after I fix the part where checking size==0, but not that output is empty, can skip writing a line).