Every role permission will be represented by 12 bits to handle
- no permission
- permission with no prefixes
- permission with each propagation prefix
- permission with each filtering prefix
- permission with each combination of propagation/filtering prefixes.
This diff just handles computing those 12-bits for a single string-encoded role permission. We do this by creating a lookup table where each possible permission variant is represented by a bit, we then use ParsesdThreadPermissionString to lookup bit representation for permission of certain variant.