Make uri handling more robust
At the moment, we just rely on the file extension to know if we deal with a playlist or a stream. If there's no extension, we assume it's a stream, otherwise we assume it's a playlist.
I think this part should be a bit more robust, but maybe it's best to wait for feedback of real error cases in real-world. Then I'll have better ideas for the best way to deal with that.