Added LogonAsBatchJob to util User
Allow package downgrades for related bundles

Allow package downgrades for related bundles with proper ref-counting.
Make sure packages register their identities in the provider registry.
Uninstall compatible orphaned MSI packages
Make sure enough memory is allocated for compatible packages
Slipstream changes

Pass original source location for embedded bundles so that embedded bundles can be slipstreamed and share package source with parent bundles.
Automatically disable system restore for embedded bundles
Skip the repair of the related bundle if it has the same provider key

This is to fix this scenario
Install BundleAv1
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.
Add version check to delete correct update key

Update Registration key was being deleted during a bundle to bundle upgrade.
Added version check so that only if the version was the same would the key be deleted.
Fix issues with compatible packages for repair/uninstall

Don't fail uninstall when planned package was removed by related bundle
Don't repair dependent bundles when upgrading a patch or addon bundle
Update pull request with review comments
Clean up Burn documentation.
Remove InternalsVisibleTo from Votive assemblies.
Merge pull request #18 from robmen/develop

Remove InternalsVisibleTo from Votive assemblies.
Remove sn.exe commands with wix.pub
Merge pull request #19 from rseanhall/buildwixdoc

Remove sn.exe commands with wix.pub
Merge branch 'burndocs' of https://github.com/rseanhall/wix3 into develop
Editorial powers: Activate!
Add support for the new AlwaysCache attribute in the compiler and linker.
Add it to the BootstrapperApplicationData.xml along with InstallCondition.
Add them to the Burn structs and load them from XML.
Implement AlwaysCache in the engine.
Add a compiler warning if AlwaysCache is set to yes and Cache is specified.
Update History.md.
Bug 4279: Can't run 'Heat Project' on VS2013 .vcxproj - Added case to ConstructMsbuild40Project() using MSBuild version "12.0.0.0"