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.
TestUtils.getURL() sets the session header regardless of whether the session token value is null or not. So it's sending a bogus header to the server, and that's generating a 500 error. I guess I would expect (ideally) that it would still return 401, not authenticated.