EVECharacter.has_permission() fix for wildcards

Previously it would not do wildcard matching if the target permission
*was* found in the database.
Tiny refactor to Permission.set_grants_permission

I'm not sure that having a function for this is actually clearer or
otherwise better than just writing the any() expression.
Merge branch 'permissions-tweaks' into deploy