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.

DEPENDS: https://github.com/juju/juju/pull/527
I've removed the actionStatus type, but it seems easier to have the possible statuses enumerated in the const.  The usual pattern I've seen is to use a type to enforce the enumeration.  In this case, I can see why it's not helpful to have the type (since it's checked and set against untyped strings) but I still think the enumeration is useful.  Please confirm you want me to remove the `const` status enumeration.