1894: Fix crediting where last sub is unsynced

* Often, the last subtitle won't be synced and will just extend until the end
  of the video.  In those cases, the "end" value is -1.  If that's the case, we
  can't add the credit sub.

* Made the add_credit() function dumber and easier to test (it now takes the
  list of subs, the language code and the video duration).  This makes it much
  easier to test.

* Rewrite tests (see above)