Feature/sql permission checks

Reimplements permission checks in Arel/SQL which in turn improves extensibility and performance. Adds various performance improvements on other layers.
Line is too long. [195/99]<br>Use the new Ruby 1.9 hash syntax.