[DEPENDENCIES] Basic multicore support for SyncService.

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 the recorded hostname.

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. Despite
some (expected) hurdles, seems to be working out. I had to remove the
auto-reloader for mailsync though, 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.