Return exit code exception from `uninstall` and `test`
The package actions "uninstall" and "test" should return the exit code contained in an ExitCodeException instead of throwing. This ensures a more stable API. ExitCodeExceptions in the way they are used by "Installer.RunCommand" are not really exceptional, but errors that are expected to happen.
Edited by Vivienne Spence