Renamed id, userId and UserId to better names

This change affects most files, however the resulting project is easier to read for people unfamiliar with the code base because instead of 4 different fields called id in similarly named objects, the fields now all have unique names. Also, there is no longer a clash with fields called id in host projects.