Allow customisable user display names
While at ETH Zurich the display name was sourced from a central university database and was unique, at University of Edinburgh, we want to allow customisable display names since currently they are simply equal to the username.
For this feature, we add a backend API to change Profile.display_username, a frontend input in the user settings page, and a database migration because display_username had a primary key constraint that we need to remove to allow duplicates.