Commit permissions/groups API specification and default implementation by me and @AbrarSyed

Patches:
CommandHandler: Redirect all canCommandSenderUseCommand calls to a forge equivalent, which is permissions-aware
EntityPlayerMP: Allow all commands to be used, to let the permissions API handle the permission checks
NetHandlerPlayServer: Allow command blocks to be controlled by permissions