ActionResult refactor
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.