Simplifying policy runtime to use single theories

Previously the policy runtime utilized a handful of special-purpose
interacting theories.  The intent was to explore a number of different options
for monitoring and enforcement.  But for our current focus on
simply monitoring, interacting theories is overly complex; moreover,
it makes it difficult to support multi-tenancy.

This change removes the interacting theories from the policy runtime.
Now every policy is isolated from every other policy. This also
makes multi-tenancy possible.  We've chosen to use the Nonrecursive
Theory as the default.  This avoids stale-state bugs likely
to appear in MaterializedViewTheory, which seems to be a
problem currently.

Change-Id: Idb6c08b9d2c52f2b28f16ed9d772df95404157aa
Merge "Simplifying policy runtime to use single theories"