Update more attrs in reconcile_message().

Summary:
Like full_body, msg.sanitized_body, msg.snippet need to be
updated when reconciled too.

Test Plan: Tests pass as before.

Reviewers: emfree

Reviewed By: emfree

Differential Revision: https://review.inboxapp.com/D777
Remove unused params in api/kellogs.encode()
System tests for events creation

Summary: This is a simple smoke test to check that event creation and deletion works. I'll be interested in your thoughts on whether it's necessary to test syncback (e.g: by connecting to the google backend and querying directly).

Test Plan: Ran the tests

Reviewers: emfree, kav-ya

Reviewed By: kav-ya

Subscribers: spang

Differential Revision: https://review.inboxapp.com/D772
update docs to note that calendar events are synced back.
Also update note about syncback in the Calendars doc section
Fix bad epoch quoting in events docs.

Start/end time parsing actually fails if you quote epoch timestamps.
They should be specified unquoted.
Fix error message pass through in API for events and drafts.

Summary:
I'm not sure how we ended up using `e.message` in the first place, but
as far as I can tell, it does not work. For example, try using an invalid
calendar ID when creating an event. You'll get a blank error message,
which makes debugging the request being sent very difficult.

I did not verify that this is the case for all of these API endpoints (I
just verified a couple of the events ones), but the code paths all look
similar to me.

Test Plan:
vagrant@precise64:/vagrant$ curl -X POST http://localhost:5555/n/dl75gys73g7t5ujkheyfauo2b/events -d '{ "calendar_id": "foobar", "title": "Friday meeting", "when": {"start_time": "1417233600", "end_time": "1417237200" }, "location": "Inbox HQ", "participants": [ { "email": "spang@inboxapp.com", "name": "Christine Spang" } ] }'
{
  "message": "Invalid calendar public id foobar",
    "type": "invalid_request_error"

whereas "message" was blank before, etc.

Reviewers: emfree

Reviewed By: emfree

Differential Revision: https://review.inboxapp.com/D784
Fixes to the system tests for event creation

Summary:
I made the events system tests pass for EAS (at least for the syncback operations we support on EAS -- namely creating and updating events)

Also, I fixed to additional auth bugs:
- we wouldn't take into account the Office365 MX servers when detecting providers
- we matched mx domains using `re.match` which matches only at the beginning of the line. I swapped this with `re.search` which gets us the behaviour we want (e.g: we can match inboxapp.mail.outlook.com using mail.outlook.com). Not sure if this would help with people getting unknown provider errors.

Test Plan: Ran the tests

Reviewers: emfree, kav-ya

Reviewed By: kav-ya

Differential Revision: https://review.inboxapp.com/D780
typo
Don't try to create IMAP folders before starting sync.

Summary:
This is breaking at least one custom IMAP account sync with `error: create
failed: u'[ALREADYEXISTS] Mailbox already exists'`.

Fixes T571.

Test Plan: Run test sync as sanity-check.

Reviewers: kav-ya

Reviewed By: kav-ya

Maniphest Tasks: T571

Differential Revision: https://review.inboxapp.com/D790
Add syncback execution latency to logs.
Fix session scoping bug.
Refresh ES index after recreation so tests pass with repeated creation/deletion.
Test bulk indexing.
New indexer - wip.