Implement Permissions checks into Core

I may have missed some spots...
Hrm. I'm questioning the need for such fine-grained permissions in any context except apps. When would we want to grant someone permission to see exactly one user or one character?