Client session

This tidies up how the 'my profile URL' is managed in the UI, and how the server cleanly deals with checking it and reporting back to the client.