Update Permission entity

Update Permission entity as it is a read only entity, also update its
fields.
Add search functionality to the Permission entity.
Add tests for all touched areas.
Just a big number, currently we have about 200 permissions.