extract relation membership caching into new type; not hoked up yet
extract relation membership caching into new type, which I remembered to add this time; not hooked up yet
figured out better interface
RelationContext now uses cache internally; uniter now hooked up and tested; context tests not yet updated
fixed some tests, commented out others, will reinstate soon
add missing test case
reinstate, expand factory tests to take caches into account
reinstate and slightly extend relevant tests; drop an irrelevant one
address review
address review
address review
Merge pull request #987 from fwereade/uniter-context-reinstate-settings-caches

Uniter context reinstate settings caches

So, a few PRs ago I broke relation settings caching. This reinstates it, but under the aegis of the context factory rather than the Uniter.

It's not yet finished, because I need to gut and rewrite all the relation-based tests in the context package, *but* all the uniter tests are passing again and I'd like a pre-review of the logic while I work on the tests, so I can get this merged (ie fixed) ASAP.