Error out on live hls

If you attempt to download a live stream via HLS, you would only get a small part of the live stream, namely the contents of the m3u playlist *at one moment in time*. Currently, the HLS fetcher does not refetch the playlist and the user would probably be disappointed. It's possible to override this error with ``--error`` flag.

My plan is to replace all sys.exits within modules to raise a UIException (or a subclass of it), and let ``__init__.py`` catch it in a standardized way.