Support all CustomAction Execute types properly
This commit does two things: It sets the correct flags for all types of CustomAction Execute types (mostly figured through experimentation), and only sets NO_IMPERSONATE flag if the resulting type has the IN_SCRIPT type set (which is in-line with Microsoft's documentation of the NO_IMPERSONATE flag: It's an in-script option).
This should allow SET_PROPERTY custom actions to work. Previously, they would be set to SET_PROPERTY | NO_IMPERSONATE, which is an invalid custom action type that Windows' msiexec would complain about.