ActionFinish called after Action completion

The worker now calls ActionFinish on state to call home with the results of an Action.

The unit will not be set to an error state unless the API call to ActionFinish fails.  Any other errors generated by the Action will be encapsulated in the results message, which is sent back to state with the final state of the Action (complete or fail.)
Reduced complexity by separating the Action-related run code into `Uniter.runAction` and leaving other hook running code in `Uniter.runHook` as requested by @fwereade.