This new backend currently isn't hooked up; new and existing installs
will continue to use the localfs backend.
* Rework torrent generation to be backend-dependent so we can use S3's
existing torrent API.
* Remove the torrent test cases, which broke with this torrent rework;
they will need to be added back later.
* Use `http.MaxBytesReader` for better max size handling.
* Allow backends to return errors in `ServeFile` if needed.