Introduced new summary formatter. First draft; WiP.
Merge branch 'master' into status-formatter-summary

Conflicts:
	cmd/juju/status.go
	cmd/juju/status_test.go
Implemented feedback from review.

- Migrated formatter to status_formatter.go
Better format descriptions & better port format.

- Correct comment on StatusFormatter(...) method.
- Added formatter help information in the status help message.
- The port list is now split into rows with 3 columns.
Corrected issues from review.

- Added copyright notice.
- Migrated to postifx increment style as opposed to += 1
Merge branch 'master' into status-formatter-summary

Conflicts:
	cmd/juju/status.go
	cmd/juju/status_formatters.go
Corrected index out-of-range bug. Fixed test.
Save most of the metadata in the archive file.
Ensure metadataFile is set.
Migration towards an object-oriented approach.
Fix minor `go tool vet` warning

Was getting:

    $ go tool vet -methods -printf -rangeloops .
    worker/deployer/simple_test.go:250: possible formatting directive in Log call
added benchmarks for metrics
more addmetric benchmarks
Merge pull request #830 from mattyw/benchmark-metrics

added benchmarks for metrics

http://reviews.vapour.ws/r/98/
Addressed feedback from review.

- Status help now contains information about all formatters.
- Added space between import lines in accordance to style-guidelines.
- Migrated openPorts to juju/utils/set.
- Removed unnecessary string conversion.
- Migrated SummaryFormatter to internal type.
- Made error message when unable to convert type more helpful.
Merge pull request #842 from johnweldon/go-vet-warning-fix

Fix minor `go tool vet` warning

Was getting:

    $ go tool vet -methods -printf -rangeloops .
    worker/deployer/simple_test.go:250: possible formatting directive in Log call
ActionComplete / ActionFailed called after Action completion

The worker now calls ActionComplete or ActionFailed on state, depending
on the success state of the Action and any errors.

The hook is set to an error state if the Action hook is missing, or if
other errors take place during hook execution.  If the Action hook sets
a fail state, the Hook will not error, rather the Action will fail.
ActionComplete / ActionFailed called after Action completion

ActionTags are now properly initialized on worker uniter.HookContext at the
time it is created.
ActionComplete / ActionFailed called after Action completion

Final bits and pieces to complete PR 617 put in place; tests fleshed out
and passing.
ActionComplete / ActionFailed called after Action completion

Addressed davecheney's points in PR 617.