Correctly enum all products for non-specific patches

Fixes issue #4366 by correctly parsing the @Validate attribute of patch XML blobs.
Suppress patch sequence data to optimize patch performance

Fixes issue #4420 by allowing for the removal of patch sequence data which is not needed for applicability checks.
Also calls MsiDeterminePatchApplicability instead of MsiDeterminePatchSequence for already-installed patches which is faster for local packages.
Update patch performance improvements with feedback
Merge pull request #69 from heaths/patchperf

Resolve issues 4366 and 4420 for better patch performance