Permissions API

Permissions/Groups API specification, minecraft/forge patches and default implementation by me and @AbrarSyed

This is a repull for pull request #1122 , with Lex's suggestions implemented.

Feel free to comment if there's anything else.
Obnoxious and buggy. Let the factory figure out what to do with permissions for fake players.