Merge pull request #1 from aes/master

Retry fix for when a chunk download times out

Patch submitted by github.com/aes, thanks!

Original commit message:
> Fixade huvudloopen så den inte kör i diket på första tappet
Release v0.9.6 which will retry download on timeout
Updated for the new SVT site and release of v1.0.0

- Support for the new svtplay.se site and the seemingly extinct
  playrapport.se.
- Internal refactoring since both sites use the same format now.
  For the next release the tests will have to be refactored so the
  same things aren't tested twice, as they are now.
New progress bar and minor bug fixes and refactoring

User request for a better progress bar, so I've obliged with the
excellent `progress_bar` gem by Paul Sadauskas.
https://github.com/paul/progress_bar

External changes:
- svt-recorder uses a new progress bar that estimates time to
  completion, shows how long the download has been going on and
  also displays how many chunks that has been downloaded together
  with the total number of chunks.
- SVT::Recorder.fetch_playlist doesn't need to be called with
  a block anymore.

Internal:
- SVT::Recorder::Rapport a bug in the test case for Rapport,
  the test file tried to load the json fixture from SVT instead
  of using the local copy.
- SVT::Recorder::Base now handles streams thatreturns FQDN URIs.
- SVT::Recorder::Base unescapes all URIs from SVT before trying to open them
URIs escaped by accident, introduced in 1.0.1

Typo when it was thought to UNescape URIs.
Actually download new videos again

SVT changed so that the playlists downloaded for a bitrate could be
a complete URL instead of just part of a chunk. This new naming scheme
changed so that downloads didn't complete fully on new videos.

So now the script always use the complete URL from the playlist instead
of making up its own URL based on off how it ought to be. Thus this
should be more future proof.

Fingers crossed. :)

Actual changes
- Internal refactoring because of part naming changes
  - @first_part / @last_part removed and an array of all parts added
    instead
  - Set the base_url from the part if set instead of guessing based off
    the playlist (should be the same, but who knows what'll happen)
- svt-recorder program now catches more errors and retries fetching,
  probably Keep-Alive was being closed by the server. Not really sure
  why but files seems to be working.
Version for the program and push on release
Add support for www.oppetarkiv.se
Massive refactoring, subtitle downloading, more