Permissions API

Permissions/Groups API specification, minecraft/forge patches and default implementation by me and @AbrarSyed
Why do we have permission levels? It should be purely node based.