Don't always set runAllTests=True for production

the describe_result.testRequired only indicates that normal tests will
be run when deploying to production, if runAllTests=True is set managed
package tests will also be run and the deploy will fail if there are
errors.

update to make code honor UI settings for all org types, create user
setting mm_deploy_rollback_on_error to allow for no rollback on errors.