[server] Skip data for reports table in MySQL backup
[server] Skip data for reports table in MySQL backup

Summary:
I noticed a server log that `mysqldump` was exiting with error code 3 [Notion issue](https://www.notion.so/commapp/Investigate-prod-mysqldump-backup-script-exiting-with-code-3-c7a16faee8a247e19ebba64885598625). Turns out it was due to the rows in the `reports` table being too large. We don't need to keep track of those anyways, so I decided to ignore the table. Based on [this StackOverflow answer](https://stackoverflow.com/a/64859683/427010), I concluded that for MySQL 5.7 the only way to do this was with two separate `mysqldump` commands.

Changes in this diff:
1. Use two separate `mysqldump` commands, which involves using a second buffer (`rereadable-stream`) and passing `{ end: false }` to the first `pipe`
2. Specify `--no-tablespaces`. I saw a warning about this when I ran `mysqldump` manually, and the StackOverflow answer had `--no-tablespaces`. After reading about it I realized we don't need these anyways.
3. Throw an exception in `deleteOldestBackup` if there are no backups left so we prevent further retries (this probably should've been in a separate diff, sorry!)

Test Plan: I manually copied `dist/cron/backups.js` in my dev environment onto production and checked its behavior

Reviewers: palys-swm

Reviewed By: palys-swm

Subscribers: KatPo, Adrian, atul

Differential Revision: https://phabricator.ashoat.com/D1682

Ashoat/squadcal,Ashoat/squadcal,Ashoat/squadcal,Ashoat/squadcal,Ashoat/squadcal,Ashoat/squadcal,Ashoat/squadcal