User profile page

This is the first part of work required for user profiles and is based on ideas developed with Davey.

Note that it is built off of #174, so that PR should probably be merged first.