Split out opengraph getter to separate function

...and add doctests
Add get_urldata() method to service

self.get_urldata() is eqivalent to get_http_data(self.url), but
also caches the data, so no additional requests are made if it
is called multiple times (e.g when grabbing title or downloading
thumbnail).

Generic().get(url) still causes it to be fetched an extra time.
Add --all-episodes option (for svt only currently)