Once and for all is a good idea, but doesn't interface well with what free time/interest I have to do certain changes. I've created a patch for getLevel as
suggested. If it gets applied I would like to go ahead and remove all the hardcoded 11's from code that calls getLevel and isGod. This should make it somewhat easier for you to sweep through and decide which getLevel calls are to determine permissions and which are just level stuff. But I see no need to wait and do everything all at once.
I would like to see your permissions changes implemented though.