uniter: move action validation into context factory

Main benefit:
  * untangled much of the ugliness/confusion in uniter.runHook
  * added unit tests for action notfound/unauth

Driveby improvement:
  * uniter no longer takes the execution lock until it's got a valid context to run in