(PUP-1048) Windows puppet service should log to the eventlog

Initial attempt to add in eventlogging for all log messages
New service command line argument (--logtofile). By default the service will log all messages to the Eventlog.  This argument will log messages both to the Eventlog and the Puppet log file in Common Application Data.  This can be useful if the EventLog logging is failing or another application depends on the the logfile
Basic tests show the new code works however more testing should be done
(PUP-1048) Windows puppet service should log to the eventlog

Cleaned up some whitespace issues
Changed the wording on some of the log entries to avoid confusion between 'Service resuming' and a Service Resume control message
Added logging for the Pause, Resume and Shutdown service control messages.  Previously there was none
Noted Bug id 11 in the win32-service ruby code
Added a commented out handler for the Interrogation event for debuggin purposes
Changed the name of the event log function from raise_windows_event to report_windows_event to avoid connotations with raise
Changed the event source to Puppet so that the correct event source DLL is used.  However it may be a good idea to split the event source between the service and the actual agent so it's easier to read in the Eventlog.  This would require a change to the puppet_for_the_win repo as well.
The eventlog.close command is within an ensure block to stop leaked handles if an error occurs
The --logtofile argument was working for the service but was causing the puppet agent run to fail as it didn't know what to do with it.  Used a simple text substitution to remove it from the args string.
Spelling mistake
Rebasing broke detecting of the --logtofile argument.  Changed the variable used
Changed wording of the log message when putting the service into a paused state.  Now references a Puppet Issue ticket for tracking
The ensure block will make sure that the eventlog handle is not nil before trying to close the handle
Merge branch 'pr/2161'

* pr/2161:
  (PUP-1048) Windows puppet service should log to the eventlog
  (PUP-1048) Windows puppet service should log to the eventlog

This closes GH-2161.
(maint) Reset Puppet::Parser::Functions early in TestHelper.initialize

External tests which rely on being able to simply require 'puppet' and
then load a function for test relied on Puppet::Parser::Functions.reset
being called during the class loading.  Now that that has moved into
Puppet initialization, we simulate this in TestHelper by calling it
before specs are loaded.
Merge branch 'master' of https://github.com/puppetlabs/puppet