Update to use new base txn struct
Merge branch 'master' of https://github.com/juju/juju into environ-resource-catalogs
Introduce new txn package and move transaction functionality from state
Revert resource catalog wor as this will be done downstream from the changes in this branch

This reverts commit 3f07858066fca5e9b5c167616988d7d87a618c4f.
Merge trunk and fix conflicts
Remore some defers
added a summary and link to the docs in the readme
Update to use new base txn struct
Introduce new txn package and move transaction functionality from state
Revert resource catalog wor as this will be done downstream from the changes in this branch

This reverts commit 3f07858066fca5e9b5c167616988d7d87a618c4f.
Remore some defers
Refactor txn testing inftrastructure to separate testing package
State has txn runner attribute rather than embedding
Use explicit err for no transactions to run
Merge branch 'new-txn-package' of https://github.com/wallyworld/juju into new-txn-package

Conflicts:
	state/action_test.go
	state/addmachine.go
	state/annotator.go
	state/assign_test.go
	state/export_test.go
	state/machine.go
	state/machine_test.go
	state/minimumunits.go
	state/minimumunits_test.go
	state/open.go
	state/relation.go
	state/relationunit.go
	state/service.go
	state/state.go
	state/state_test.go
	state/txn/package_test.go
	state/txn/txn.go
	state/txn/txn_test.go
	state/unit.go
	state/unit_test.go
Various code review fixes
Fix some tests
Update dependencies for new goose rev, add logging
upgradeWaiterWorker: comments and edits to improve clarity
apiserver.NewServer now takes a struct for the server params

There were already too many arguments being passed to this function
and another one is about to be added.