(#21243) Allow puppet service to run as a local or domain account

Previously, the MSI would always configure the puppet service to run as LocalSystem.

This commit retains that behavior by default. However, the service can be configured to run as either a local or domain account.

To specify a local account:

    msiexec /i puppet.msi PUPPET_AGENT_ACCOUNT=puppet \
    PUPPET_AGENT_PASSWORD=MyPassword123

The account will be created (if it doesn't exist), it will be granted the right to logon as a service, and added to the local Administrators group. The account will also be removed when puppet is uninstalled.

To specify a domain account, include the following property in addition to the properties above:

    PUPPET_AGENT_DOMAIN=MYDOMAIN

The domain account will be granted the right to logon as a service, and added to the local Administrators group, however, the domain account must already exist, and will not be removed when puppet is installed.