(PUP-2984) Remove x64 Program Files Path

If you install Puppet x86 after installing Puppet x64 and leave everything to
the default locations, Windows File System Redirection will cause the installer
to not remove the old files in Program Files and worse, not update the PATH
environment variable. The x64 bit PATH gets a higher priority, so you would be
using the older Puppet when called from the command line. This can cause
inconsistent results when using Puppet. The behavior only happens when dealing
with `Program Files` versus `Program Files (x86)`.

This adds two custom actions to clean up the left over files and update the path
accordingly. This is only done during install of the x86 installer when on a
64bit operating system when the state is to add the feature. The functionality
is not in the x64 installer at all, and will not attempt to call these actions
when upgrading x86 packages with this behavior included.

If for some reason either of these two actions should fail the installer will
not fail as a result. The cleanup of the files should work on almost any system
as the command uses very old technology. The update of the PATH environment
variable uses PowerShell so it has the most chance of failing if PowerShell
execution is disabled due to security policy on the machine. However if the
PATH doesn't get updated, the surface of inconsistent behavior is removed due
to the files being cleaned up.