Manage multiprocessing via supervisor, not startup script.

Summary:
An issue with our current setup is that if a single sync process gets taken
out, say by the OOM killer, it will not be revived until the entire process
group is restarted. As far as I can tell, there are two solutions to this:
 * Loop and poll child process health.
 * Use supervisor to explicitly manage a group of processes.
This commit implements the latter alternative, if used with the following
supervisor config.

```
[program:mailsync]
numprocs=8
environment=MAILSYNC_PROCESSES=8
process_name=%(process_num)d
command=/srv/inbox/bin/inbox-start --prod --process_num=%(process_num)
directory=/srv/inbox
user=admin
autostart=true
autorestart=true
stopasgroup=true
stdout_logfile=/var/log/inboxapp/mailsync.log
stderr_logfile=/var/log/inboxapp/mailsync.err.log
 ```

Test Plan:
Run mailsync with this config and introduce a memory leak in a
single process.

Reviewers: spang

Reviewed By: spang

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