Because of the need to export campaign details (as well as showing stats within the app), each contribution should store the actual username instead of the user_id.
This means that we don't need to run separate queries to the users table when generating stats that require usernames of users. This is important for T227515: Create single csv download of all contributions data
- Change the column name in the contributions table from 'user_id' to 'username'
- Update contribution saving routine to store username instead of id (api/post-contribution route)
- Update all other uses of user_id from contributions table to use username directly instead (mostly in the 'campaigns/<id>` route, where we need to convert user ids to usernames (around line 84). This step can now be removed and simply get username directly.