refactor: Major refactoring, added option for use with admin account

- added methods to create and delete users and tenants
- added option to run with admin credentials
- create two normal users accounts before running tests, deletes them afterwards
- set public_network_id only if not None
- unified arguments
- reordering of methods, grouped by function
- added tests
- flake8 fixes