Add support for probing the media file duration using ffprobe
Add support for probing the media file duration using ffprobe

This is enabled by default, and will gracefully skip the duration if
`ffprobe` is not available or fails to run.

I thought about adding a command-line toggle, but I would prefer to have
it enabled by default (i.e. sane defaults), which would make the
parameter name a bit weird. And then I wonder if the command-line toggle
is actually needed for this. (Why would any user want to not include the
duration? I can't think of any good reason.)

The tests are currently passing, but that's because there is no test
media file with real media data; all of the files in `test/media/` are
either empty or only have metadata without any actual data. In such
cases, the duration is unknown/empty. If anyone can produce a test media
file, we can improve the tests (they are currently marked as TODO).

The code is inspired by
https://github.com/kkroening/ffmpeg-python/pull/67

The code can be one line shorter if we start using the := (walrus)
operator, but it's only available in Python 3.8 and I don't see any
reason to break compatibility with (slightly) older versions.

amsehili/genRSS