Extract all permissions stuff to service objects

The abilities file looked completely ridiculous so it was time to pull everything out to classes that didn't rely on any CanCan related magic. This allows for several non-essential methods in the AR classes to be extracted to those classes dealing with anything authorization related.