Perform logout API call on logout

We need to delete the user's auth token so it isn't valid anymore. Also,
remove LogoutDialog because it isn't used anymore.
Simplify image sizes else if condition
Robustify login prompting

Now if the user's session expire, we prompt them to log in and perform
the API call again once they are finished logging in just like we do if
the user isn't logged in to begin with. I had to change the way we
trigger the dialog to be opened because APIService doesn't have access
to any Activities. Now we post an event to the Bus that Activities
listen for and open the dialog when it comes along.
Fix finishing Activities on logged out user

If we thought that the user is logged in but it turns out they aren't,
MainApplication wasn't reset to indicate that the user isn't logged in
anymore. This updates our internal state when we get a 401 from an API
call so backing out of login dialogs works correctly.