Send HTTP UNAUTHORIZED if not logged in into session

These URIs should not be requested if user does not successfully join a
ARSnova session.
Fixes for #6570: Recognize user's role before throwing errors

Renamed TEACHER to SPEAKER to adapt roles to ARSnova client, and
also added some convenience methods for role handling.
Removed obviously unused code
Fix for #5820: Add abstention count to answer stats
Setup UserSessionServices role and user after login

It is required to setup those values after login. Current session
information will be set up after joining a session.
Direct use of userSessionService instead of AOP solution
Save current user into userSessionService after login
Added service methods to check if user is authenticated an in session
Fix for #6584: Store current user in "/whoami" request
Handle empty responses properly