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.)
I'm confused about what you're looking for here; do you mean we *should* be handing errors back from failed Actions into the uniter loop, triggering `ModeHookError`?  Previously I understood you to mean that we should be doing exactly what we're doing here: encapsulating the error and handing the message (or a relevant message) back to the client, and returning no errors to the uniter loop.

Are you saying errors should come back from finalizeAction, and their handling be determined (i.e. logged and discarded) by `worker/uniter/uniter.go runAction`?