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.)
This error path happens because before firing the Action, we check the `Hook.info` for valid contents.  We need to make sure the `id` sent in the `Hook.info` can be parsed by `names.NewActionTag`, because we need a tag for the API call.  It seemed like a waste to check that the `id` is parsable, and then to discard the generated `ActionTag`.