Fix NoneType error in remove_messages().
Catch TypeError in message parsing.

This is a temporary measure, so that we can properly debug the following
exciting new error in flanker, and not have it break mailsync entirely.

```
Traceback (most recent call last):
	  File "/srv/inbox/inbox/util/concurrency.py", line 74, in wrapped
    return func(*args, **kwargs)
	  File "/srv/inbox/inbox/mailsync/backends/imap/generic.py", line 194, in _run_impl
    self.state = self.state_handlers[old_state]()
	  File "/srv/inbox/inbox/util/concurrency.py", line 74, in wrapped
    return func(*args, **kwargs)
	  File "/srv/inbox/inbox/mailsync/backends/imap/generic.py", line 233, in initial_sync
    self.initial_sync_impl(crispin_client)
	  File "/srv/inbox/inbox/mailsync/backends/gmail.py", line 156, in initial_sync_impl
    self.__download_queued_threads(crispin_client, download_stack)
	  File "/srv/inbox/inbox/mailsync/backends/gmail.py", line 336, in __download_queued_threads
    message.g_metadata.thrid, thread_uids)
	  File "/srv/inbox/inbox/mailsync/backends/gmail.py", line 391, in __download_thread
    crispin_client, crispin_client.selected_folder_name, uids)
	  File "/srv/inbox/inbox/mailsync/backends/gmail.py", line 290, in download_and_commit_uids
    raw_messages, self.create_message)
	  File "/srv/inbox/inbox/mailsync/backends/base.py", line 130, in create_db_objects
    uid = msg_create_fn(db_session, acc, folder, msg)
	  File "/srv/inbox/inbox/mailsync/backends/imap/generic.py", line 333, in create_message
    msg)
	  File "/srv/inbox/inbox/mailsync/backends/imap/common.py", line 239, in create_imap_message
    body_string=msg.body)
	  File "/srv/inbox/inbox/models/message.py", line 239, in create_from_synced
    msg._parse_mimepart(mimepart, mid, i, account.namespace.id)
	  File "/srv/inbox/inbox/models/message.py", line 284, in _parse_mimepart
    if mimepart.content_disposition[0] is not None:
	  File "/usr/local/lib/python2.7/dist-packages/flanker/mime/message/part.py", line 403, in content_disposition
    return self.headers.get('Content-Disposition', WithParams(None))
	  File "/usr/local/lib/python2.7/dist-packages/flanker/mime/message/part.py", line 389, in headers
    return self._container.headers
	  File "/usr/local/lib/python2.7/dist-packages/flanker/mime/message/part.py", line 42, in headers
    self._load_headers()
	  File "/usr/local/lib/python2.7/dist-packages/flanker/mime/message/part.py", line 65, in _load_headers
    self.stream.seek(self.start)
	TypeError: an integer is required
```
added message_id to the stack locals whitelist
EAS AD may require username.

Summary:
1. Console auth flow permits username to be entered for password_auth.
2. Migration to add easaccount.username column.
3. Script to check that the updated EAS autodiscovery code discovers the same
servers for the accounts we currently have.

Test Plan:
Run the console auth flow.
Run the migration on test db.
Run the script on db with 4 different EAS accounts.

Reviewers: khamidou, emfree

Reviewed By: emfree

Differential Revision: https://review.inboxapp.com/D554