When calling the `serve` flag currently, it tries to support everything all at once: - serving EPUB files from a directory - allowing arbitrary EPUB files to be streamed over HTTP/HTTPS - streaming from S3 - and streaming from GCS This feels a bit much and shouldn't be the default state when you launch the HTTP server through this command. Instead, we should: - default to a directory - but allow an optional flag to set which URI schemes are supported For this flag, we could use the following list of values: `file`, `http`, `s3` and `gcs`