[FEATURE] implemented errorhandling for non-unique usernames

__Tasks:__

- [x] test coverage
- [ ] gather feedback for my changes

__Informations:__

| Q             | A
| ------------- | ---
| Tests pass?   | yes
| Fixed tickets | https://github.com/massiveart/POOL-ALPIN/issues/116
| BC Breaks     | -
| Doc           | -
I guess you don't need all these joins, if you just want to find out if the username is taken.