Fixed storeage test.

I think that last code was a typo, there's no way that simply
accessing the to_internal method would raise an error.  This new test
passes.  It doesn't test the subtitle length, but I don't think
there's anyway to do that if there's a parsing error.
Use difflib for diffing.

This allows us to find insertions and deletions between the 2
sequences, instead of simply matching item by item.

This changes subtitle_data.  Now it's possible to have empty
SubtitleLines in the middle of the list, rather than only at the end.

This also changes time_changed and text_changed:

Before we calculated the number of differences using an item-by-item
comparison, then divided that by the length of the longest sequence.

Now we calculate using difflib's ratio() method.  ratio() calculates
the number of differences, multiplies by 2, then divides by the sum of
the 2 sequence lengths.

This should be the same if the sequence lengths match up, but if items
are inserted or deleted, then the numbers will be different.  I think
this is fine, since before if you inserted/deleted a subtitle, the old
calculation would give you a totally bogus number.
Merge pull request #3 from bendk/master

Use difflib for diffing