roughly break up test files; extract context.Factory
add a bunch of failing tests
add basic tests for Factory; move non-Factory NewHookContext func into export_test (to keep existing tests passing, but prevent other people from creating contexts in unhelpful ways
address review
drop proxy rubbish
Merge pull request #939 from fwereade/uniter-context-factory

Uniter context factory

Hook contexts are now created more simply. Expect further followups, to extract more of the logic currently still in the Uniter -- in particular, the NewActionContext bit is not good as it stands, but I don't want to grow the PR too far.