updated role tests to use factory implementation and made them data-driven

- All existing tests are updated to use factory implementation and updated them to data-driven
- Added few negative tests
- Currently role creation with utf8/latin1/html char is not working due to bz https://bugzilla.redhat.com/show_bug.cgi?id=1112657 so blocked related data strings with comments

Note: I'm using generate_string for now.. as it is being used everywhere under all UI tests. We can update it later in a separate PR for all UI modules, if needed.
Super minor thing, but this section of code can be shortened by 60%:

```python
"""Create a new role."""
create_args = {'name': None}
```