Fix construction of non msiexec uninstall_strings

When uninstalling a package using the windows_package resource, the
command to uninstall is fetched from the registry.

If this doesn't use msiexec, we need to spawn a new window using the
'start' command, to block until the installer completes.

The start command takes a parameter '/D' which is the 'starting
directory'.  The recipe was using File.dirname to obtain this path,
which breaks when the uninstall_string contains arguments.  The easiest
fix here appears to be to just not use the starting path param.

A secondary issue exists in which some uninstall_strings contain
'/repair' rather than '/uninstall'.  E.g. the .NET framework.  I've
added a substitution for this.