The RoleHierarchy table has been eliminated in favor of just using
a ManyToMany map, which is what we should have been using all along.
ORMifications still need improvement, in particular filtering on
ResourceMixin.accessible_by should reduce permission calculation
overhead, but with the current implemenation this is not true.
ResourceMixin.get_permission performs adequately but not as good
as it can yet.
This is so that our permissions aggregation query can use MAX(column)
which exists and works in both postgres and sqlite, as opposed to having
some conditional aggregate function that we use depending on our
backend.
Calling `.after` on a dateutil.rrule object that has an UNTIL clause
performs very poorly if the interval is low and the start time is a long
time ago. This patch replaces two test cases where we were using a
minute interval with a fixed start time of (currently) 2 years ago,
which resulted in aproximately 40s of execution time to simply evaluate
`.after(now())`. Replacing these two tests with tests that start from
"yesterday" while keeping the same INTERVAL and UNTIL settings
eliminates this unnecessary slowdown while maintaining the spirit of the
original tests.