Big code dump + worked on login

Cleaned up / added a sizable amount of code.

Kind of frustrated and burnt out right now because my JSON
deserialization isn't working, but it may not be a problem on my side.
Currently when I login, if the login credentials are valid, then the API
returns a User object in the form of a long JSON string such that
attributes and values are represented in the form of
{"attribute":"value", "attribute":"value"}. I can read the JSON string
and see that it contains all of the correct information for the user
profile, but when I try to deserialize the JSON into a User object it
doesn't work. Only the UserId, an integer, is correctly deserialized