Change PermissionNameTable from slice to map

It is a very reasonable requirement to have a sparse
set of permission numbers, so a map makes more sense
than an array.