Include undo/redo feature Gh 395

In this branch, we implemented part of [issue 395](https://github.com/pculture/unisubs/issues/395) about having undo/redo features for the subtitle editor. We add four functions to the SubtitleList model: `undo` and `redo` as well as `canUndo` and `canRedo` to check if there is an operation to undo or redo. We also have associated tests.

The basics of the implementation are:

* Each `change` (`update`, `remove` or `insert`) on the `subtitleList` is stored in an `History` list with enough information to reverse it.
* Changes on subtitles are remembered together with the index of the changed subtitle in the `subtitleList`.
* `undo` and `redo` operations trigger the same callbacks as the original operation.