FIX EZP-23121: assignRole allows duplicate role/limitation assignments

New approach for #926, issue : https://jira.ez.no/browse/EZP-23121

Description:
Role Service assignRoleToUser/Group allows creating duplicate role/limitation assignments.
This can be verified in legacy admin (after clearing cache) or in database.

Todo:
- [x] adjust unit tests
- [x] add some more integration coverage (suggestions welcome) 
Isn't BadState more for when database is in a bad state? Cause in this case it is the provided arguments which ends up being invalid.