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.
Migration towards an object-oriented approach.
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 #846 from dimitern/upgrades-migrate-unit-ports

Migrate unit ports to machine port ranges

Upgrade step implemented to migrate ports from all unit
documents into port ranges on their assigned machine.
Because before we didn't have any validation for ports,
now during the migration it's guaranteed only valid and
non-conflicting port ranges are migrated.

Firewaller worker using APIV0 is removed, but the APIV0
itself will be dropped in a follow-up.

Ports documents are now properly removed when the last
port range is closed. Removing a unit now also removes
any opened port ranges for it, as well as removing the
machine (forcibly or normally) removes its ports doc.

OpenedPortsWatcher in state is fixed (yet again) to
properly report removals.

A few drive-by fixes for better user experience, logging,
and more tests added.
Addressed issues from review.

- Brought some variables out of if/else scopes.
- Method signature for delimitValuesWithTabs now takes only string arguments.
Merge branch 'master' into status-formatter-summary

Conflicts:
	cmd/juju/status_formatters.go
Merge pull request #801 from katco-/status-formatter-summary

Status formatter summary

https://docs.google.com/a/canonical.com/document/d/1olIjfnMIKPbNMmNBhfjwlnzdRvY-xBKygpIOhv7QIkE/edit
http://reviews.vapour.ws/r/66/
Make sure we respect the environment data dir.
Respect the environment logs dir.
Accommodate a missing .ssh directory.
Be more flexible on the init conf names.
Handle the missing nonce.txt case.
Set LogsDir for test.
Convert nil resources to empty strings.