* docker: Rename /entrypoint.sh to /startup.sh
This script is not configured as the docker image ENTRYPOINT, thus it is
misleading to name it so.
* docker: Terminate supervisord if a process enters the FATAL state
By terminating PID 1, this will also terminate the Docker container.
* docker: Use supervisord to start up apache and cron
Note that this uses `apache2ctl -DFOREGROUND` rather than manually
sourcing /etc/apache2/envvars and running apache2, as recommended at
https://advancedweb.hu/2018/07/03/supervisor_docker/.
* docker: Add artisan schedule:run to crontab
This also switches to executing /var/www/html/artisan directly.
* docker: Run artisan schedule:run directly from supervisor
This has the following benefits over using cron:
- Cron doesn't need to be installed
- Docker-provided environment variables are preserved
- It's easy and explicit to run as the docker user