* Activate restricted_data_cache on inmemory cache
* Use ElementCache in rest-api get requests
* Get requests on the restapi return 404 when the user has no permission
* Added async function for has_perm and in_some_groups
* changed Cachable.get_restricted_data to be an ansync function
* rewrote required_user_system
* changed default implementation of access_permission.check_permission to
check a given permission or check if anonymous is enabled
* geis does not work with channels2 and never will be (it has to be python now)
* pytest
* rewrote cache system
* use username instead of pk for admin user in tests
* change get_restricted_data and get_projector_data to always use a list
* Add typings to all get_restricted_data and get_projector_data methods
* Replace CollectionElementList with a real list
* Fixed arguments of inform_deleted_data
* Moved CollectionElementCache to cache.py and refactored it
* Run tests with cache enabled (using fakeredis)
* Second websocket channel for the projector
* Removed use of projector requirements for REST API requests.
Refactored data serializing for projector websocket connection.
* Refactor the way that the projector autoupdate get its data.
* Fixed missing assignment slide title for hidden items.
* Release all items for item list slide and list of speakers slide. Fixed error with motion workflow.
* Created CollectionElement class which helps to handle autoupdate.