(PUP-1802) Puppet agent should use ruby.exe directly

Currently when puppet runs as a service on Windows, it executes a batch script
in a cmd.exe process. This adds a layer of unnecessary complexity when we could
call our vendored ruby directly with the necessary arguments for the service to
run.

This switches over to using ruby.exe directly.
(PUP-1802) Use xslt filter to skip ruby.exe in sys.wxs

Prior to this change, the MSI would generate but validation would throw an
error due to ICE30 errors. This was related to a double specification of
ruby.exe. We need to put the file in the component next to where we are
installing the service and quite a bit of control there, but we autogenerate
the sys.wxs file based on heat.exe. With this commit, we are adding a
filters.xslt transform to use when running heat that will automatically skip
just ruby.exe and let everything else through. This will allow us to specify
ruby.exe as part of the ServiceInstall component and not run into ICE30 errors.
Merge pull request #80 from ferventcoder/ticket/master/PUP-1802-use-ruby-exe

(PUP-1802) Puppet agent should use ruby.exe directly