Add error codes 2 and 3 to LoginResponse.
Refactor web services, add token storing functionality.

Refactored the LoginTask by creating a generic AsyncTask called
WebServiceTask that will handle all post requests to the server.
LoginTask (and all other future post request tasks) extend this class
and add functionality to handle the data returned from the server.

SessionStore stores tokens and other user information in the
application's SharedPreferences. A successful login stores the token and
user info and starts the HomeActivity. The next time the app starts, if
a valid token is stored, the app skips the login screen. Pressing logout
clears this information from the device.