Add the database master upgrade target, and check for valid steps.
Worked out if master, now for extra testing.
update juju utils to fix windows build breakage
Merge pull request #320 from davecheney/139-update-juju-utils

update juju utils to fix windows build breakage
Add a test for the upgrade targets.
Refactoring post review.
Merge pull request #321 from howbazaar/schema-upgrade-type

Schema upgrade type

Add an upgrade target for DatabaseMaster, that should be used for any db-schema changes.

When the machine agent runs the upgrade steps now, it also checks to see if it is the master, and if so, uses this to determine the steps.
Update to fix licence dependencies
Removed unused fakeRestart func
Fix gnuflag rev
Merge pull request #325 from wallyworld/license-dependnecies

Update to fix licence dependencies

Update to fix licence dependencies
cmd/jujud: retry upgrades on failure

Given that we currently have no way of rolling back upgrades it's
worth retrying upgrades in case of transient errors. Logging around
upgrades has been improved a bit as well.

Future changes will improve the handling of upgrade error reporting
further (via agent status).
Merge pull request #322 from mjs/retry-upgrade-steps

cmd/jujud: retry upgrades on failure

Given that we currently have no way of rolling back upgrades it's worth retrying upgrades in case of transient errors. Logging around upgrades has been improved a bit as well.

Future changes will improve the handling of upgrade error reporting further (via agent status).
Ports document now used to store opened ports for machine/network tuple.
Merge pull request #239 from tasdomas/port-ranges-ports-doc

Ports document now used to store opened ports for machine/network tuple.

This patch is the beginning of a solution for #1216644 . 

To implement this, a new openedPorts collection is introduced, with a ports document for each machine and network (only the "juju-public" network is supported at the moment).

Any existing port entries in the unit document are migrated to the ports document. New ports are still appended to the ports list in the unit document - this functionality will be removed when the firewaller is updated to watch the openedPorts collection.
Action params now validated at the worker/uniter level

Before the Action is run as a hook on the unit, its passed params are
validated against actions.yaml.  If the validation fails, no error is
produced but the hook will log an error and fail.
Addressed concerns for PR 311