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.
I did not know you could do this... neato!