[DEPENDENCIES] Basic multicore support for SyncService.

Summary:
We implement super ultra basic multicore support by splitting account
syncs across CPU by (account.id % 4), which does not take into account
system load in any way whatsoever. We can still shard across machines by
changing an account's `sync_host`.

gipc is required in order to prevent multiprocessing from duplicating
parent greenlets into child processes.

My goal here was to retain deployment+development simplicity, hence
choosing to use Python's multiprocessing library rather than a shell
script wrapper or CLI arguments + multiple supervised services.
I had to remove the auto-reloader for mailsync since it doesn't play nice with
gipc.

In the meantime, we also removed SyncService's dependency on ZeroRPC,
and instead do all account actions by polling for changes to the
database. bin/inbox-sync now simply marks the database and returns
immediately instead of waiting on an RPC call. Nothing should be talking
directly to the mail sync process now.

** There are a few outstanding issues. In particular, ./bin/inbox-sync is
   buggy, and also if you run this for a while, eventually a bunch of
   processes get locked up doing what looks like waiting for data from the
   database. I'll continue looking into this stuff, but seems worth
   getting a first pass on the approach and a second set of eyes. **

Test Plan: manual testing

Reviewers: emfree

Differential Revision: https://review.inboxapp.com/D265
test engine theory