Upgrade gradle-android-plugin to 0.7

Unfortunately this results in some duplicated code because buildConfig
was changed to work on individual fields with buildConfigField so you
can't construct the value in a method.
Fix DEV_SERVER in release

Turns out you need to pass in a string that contains 2 double quotes.
Rename login package to auth

This is in preparation for the AccountManager refactor where auth makes
more sense than login.
Initial AccountManager integration

It's still really rough around the edges but it adds a new account when
the user authenticates.
Move user account persistence to AccountManager

Rather than storing the data in SharedPreferences and in the Account,
lets just make AccountManager the canonical source.
Stub out reauthentication in Api

Not done yet, but this is the basic flow of what should happen when the
user's auth token expires.
Include email/password in Account

It will be retrieved when performing reauthentication if an auth token
expires.
Add email to User

It'll be used for reauthentication.
Include User in ApiCall

For reauthentication.
Add Site to ApiCall

Again, for reauthentication.
Authenticator: Get AccountManager in constructor

No need to get it in every method that needs it since it's such a short
lived object.
Api: Reauthenticate when authToken expires

This attempts to reauthenticate the user and get a fresh auth token if
the existing one expires.
Handle changed password reauthentication

This is almost gracefully handled -- the user is prompted to
reauthenticate if the automatic reauthentication didn't work, the
account is left with an invalidated auth token, when the new auth token
is created, all account info is updated with any changes.

The only problem is if the user signs into a different account than the
one we already have. It needs to delete the old one and create a new one
rather than updating the old one.
Authenticator: Remove unused parameter
Limit 1 account per site
Update credentials when retrying API calls

Because we just got a new user, we need to update the credentials for
the pending API call so it has an updated auth token. Otherwise an extra
login call is performed since the auth token is the old, invalid one.
However, his time the call succeeds because the password is up to date.
Updating the auth token is easier than relying on that series of events.
Make distinct authenticators for separate apps

We don't want to share accounts between accounts because it doesn't get
us anything and the icon/name should be unique to the type of account
rather than having every one be labelled as `Dozuki`.
Authenticator: Reorganize unimplemented methods

Moves all the uninteresting methods to the bottom so they aren't an
eyesore.
Fix user switching when setting the current site

Without resetting MainApplication.mUser when changing sites, we think
that the user is logged in when they actually aren't.
Handle invalid auth token users