ActionFinish 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/651
I've altered the name to "`isActionAndFailed`" to more clearly express the intent.  This is a helper function which is intended to return `true` iff the hook was an Action, _and_ had failed.  If it was not an Action, this should return `false` to satisfy the logic we're interested in.

Otherwise, I will simply remove this bit.  But, then there will be an ugly logical union check in runCharmHookWithLocation.