MaaS provider should expose the bootstrap timeout options.
Update environprovider.go

Updated bootstrap-timeout to 1800 secs by default on MAAS provider.
Added basic doc for HA
Added singleton and voting sections and corrected

I addressed several redaction issues and added sections for
voting and singleton workers as commented by @rogpeppe
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
Made gramatical corrections suggested by @mjs
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 dry run support for upgrade-juju
Introduce the changes to track a Request.Version field, add tests in the json codec.
Change the MethodCaller function into a FindMethod function that takes a version parameter.

This should let us end up with it behind an interface, and give us both Serve and ServeFinder.
Change rpcreflect.MethodCaller to be an interface.
And reimplement the CustomCaller as CustomMethodFinder using that new interface.
found something with go vet
test suite is happy with a new MethodFinder implemenation.
I wasn't able to get 'InterfaceMethods' to work the way we want, because
they always fundamentally get unwrapped, but that is ok since it still
works better for us.
That is the last of the RPC changes that aren't the registry itself
Finish implementing a FacadeRegistry type and exposing it.

Rather than using utils/registry.TypedNameVersion because utils has been
moved anyway, and we only had one genuine user of it.
simplified upgradejuju dry run test