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 test for call dispatching
made the test more standard conform
Merge branch 'master' of https://github.com/juju/juju into fix-api-params

# By Ian Booth
# Via Ian Booth (1) and Juju bot (1)
* 'master' of https://github.com/juju/juju:
  Tweak hpcloud boilerplate to turn floating-ip and remove az from example region
Refactored according to reviews

After reviews from @rogpeppe, @howbazaar, @mjs and @voidspace y
refactored a large part of how the tar files are tested, and
how the tar files are generated (most of that logic is to be
credited to @rogpeppe).
Now tar/tar.gz are built recursive and support prefixes to be
stripped if necessary (equivalent to -C on gnutar).
Tests check for files inside the tar and for the sum
Backup returns (filename, sum, err) instead of previous (filename,
sumfilename, err).
Introduce Parse{Unit,Service,Machine}
Merge branch 'master' of https://github.com/juju/juju into 106-parsetag-refactor

Conflicts:
	state/api/deployer/unit.go
	state/api/firewaller/service.go
	state/api/provisioner/machine.go
wip
Merge branch 'master' of https://github.com/juju/juju into fix-api-params
Display welcome message when starting debug-hooks sessions.
Improved after review

I improved the tests to check file contents on tar/tar.gz files.
I made some corrections on the back up paths.
I changed the way recursion is handled in tar for a recommendation
from @rogpeppe in terms of path walking.
Update for juju/names part 3
Final tweak
Merge branch 'master' of https://github.com/juju/juju into fix-api-params
Made corrections asked during review

I unquoted the admin password and made a bunch of trivial changes.
Merge pull request #79 from perrito666/translate_backup_to_go

Re wrote backup in go

Previously backup 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.
state/backup: gofmt
state/machine: use WaitAgentPresence, rename AgentAlive
state/machine: StartSync in SetAgentPresence
state/machine: check IsManager and only Sync presence watcher