Refactor Action, per new names.ActionTag changes, and to improve internal structure
merge latest from trunk
update bodie's code with new signatures
cmd/jujud: synchronise upgrade steps and ensureMongoServer

It's possible for the upgrade steps to complete before the
state worker starts, thus preventing it from initialising
mongo properly on upgrade. This PR makes it so that the
upgrade steps runner waits for ensureMongoServer to finish
before proceeding.

Maybe fixes https://bugs.launchpad.net/juju-core/+bug/1334273
Update state/api and state/apiserver usages of new api too, address @howbazaar's comments
Merge branch 'master' into action-tag-refactor
Merge branch 'master' into action-tag-refactor
Merge pull request #188 from axw/lp1334273-upgrade-ha-race

cmd/jujud: synchronise upgrade steps and ensureMongoServer

It's possible for the upgrade steps to complete before the
state worker starts, thus preventing it from initialising
mongo properly on upgrade. This PR makes it so that the
upgrade steps runner waits for ensureMongoServer to finish
before proceeding.

Maybe fixes https://bugs.launchpad.net/juju-core/+bug/1334273
Merge pull request #164 from johnweldon/action-tag-refactor

Refactor Action, per new names.ActionTag changes...

... and to improve internal structure.