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
simplified upgradejuju dry run test
changed upgrade-juju dry run option to --dry-run
Re wrote backup in go

Previously restore was a cmd plugin writen in bash.
Backup was implemented as a go function, still not in use.
Tests where added since the previous implementation had none.
backup package includes:
 * BackUp function, which performs the actual back up.
 * tarFiles which creates a tar or tar.gz/tgz depending
on the output file name given.
 * runCommand which is a convenience function to simplify testing
since the back up process requires calling external executable
mongoexport.
Added note on singleton vs concurrent

After talking with @fwereade I added a note explaining that
singletons, as they are documented righ now, are only a reflection
of current status but should be considered as wrong and will be
re-implemented properly, as concurrent workers, in the future.
Corrected two gramatical errors
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