Added Backend for User Profile API

Work is entirely in Java codebase. Created a UserProfileService and UserProfileController to retrieve and update user profile information. Created tests for both the service and the controller. Created a User model, and updated the UserSession to use it.
Probably not necessary. You could also re-retrieve the user object and pass it back from this method, so the caller gets the real state of the user.