ActionFinish on the worker after Action hook run

This commit splits the logic of Uniter.runHook into Uniter.runAction and
Uniter.runHook.  It also uses the new `Action` Hook Kind, improves error
handling, improves tests, and addresses other comments from PR #617.

Depends on github.com/juju/charm/ PR #43.  This commit will be
amended to include the dependency once the changes to juju/charm have
been finalized.