Windows Service Upgrade Redesign

This patchset redesigns how executable upgrades are handled for Windows when being run as a service.

Functionality:

The Windows Service starts up from the default location.  If a new exe is available, a second process is started to upgrade the service.  The second process stops the service, copies the new exe into the default location, and restarts the service thus continuing proper control of the monitoring agent by the Windows Service Controller.

Additional note:

The initial design had the bundle also being upgraded into the default location.  The last patch removed that functionality as it is unnecessary since the executable always uses the latest bundle directly.

A few unresolved issues are noted in the discussion below.