Fixes a number of issues tracked in http://wixtoolset.org/issues/4242/ all related to related bundles and compatible packages (new - supports "reverse sticky patching" for handling upgrades and what not, the rest of the sticky patching stuff from wix37).
This is to fix this scenario
Install PatchBundleV1 (applies to BundleA)
Install BundleAv2 (this bundle includes PatchBundleV2 as an embedded bundle)
Before fix, during install of BundleAv2, PatchBundleV1 would be repaired as a related bundle and both V1 and V2 of the PatchBundles would be on the machine.
This fix skips the repair of the related bundle if it has the same provider key as an embedded bundle that is being installed, so only V2 of the patch bundle is on the machine at the end.
Also add support for passing Ancestors to embedded burn bundles to help prevent recursion.