Feature/sql permission checks

Reimplements permission checks in Arel/SQL which in turn improves extensibility and performance. Adds various performance improvements on other layers.
see https://github.com/opf/openproject/pull/1760#discussion_r16345479