Moved subtitles resizing code to the subtitle-list directive.

This code makes the most sense in a directive, and this method is much
more straightforward than the previous one.
Started work to move app-wide data out of the working subtitles scope.

It seems weird that we import this scope into other scopes.  If we
need a model from it, then that model should be in the application scope.

Moved allowsSyncing, currentEdit, canAddAndRemove to the root scope.  Renamed
"allowsSyncing" to "canSync" to make it match canAddAndRemove.

For info on the working language, it never changes.  So we can just
setup things using django templating and keep it out of angular
altogether.

Moved the scroll-to-subtitle signal to the root scope.  Made it only
handled by the working subtitles list.
Finished moving things out of workingSubtitles scope

Again, the reason for this is that it seems weird for scopes to import
other scopes.  If data is app-wide, then it should be in the app
scope.  Also, we were using the SubtitlesListController for both the
working subtitles and the reference subtitles, but much of it's
functionality was only for the working subs.

So here's the new system:
  - There's a SubtitleVersion model which stores things like the
    subtitles list, the language/version number, title/description,
    etc.
  - We create 2 instances of that in the app scope, referenceSubtitles
    and workingSubtitles.
  - SubtitleListFinder is no longer.  Where we used to use that, we
    just use either referenceSubtitles, or workingSubtitles.
  - SubtitleListController is gone as well.  We don't need it at all
    anymore for the reference subs.  Merged the rest of the code with
    the WorkingSubtitlesItems controller into a new class called
    WorkingSubtitlesController.
  - The app scope handles saveSubtitles()
  - The subtitles-editor directive initializes the working subtitles
    instead of the subtitle-list directive.
  - We store the video id and version number of the working subtitles
    in the app scope.

Minor fix for the subtitles-repeat directive so that we can use
angular experessions to find the subtitle list instead just an
attribute name.
Fixed color on the end sync helper triagle.
Refactored system to get data from python to the new editor

The old system was a fairly confusing mix of adding data to the HTML
attributes and the editorData javascript value.  It also had the
drawback that some of the data got set in directives, so it wasn't
available when the controller code ran.

The new system is that we put everything in the editorData variable.
Then we present that to angular with the EditorData service.  We store
the videoId in the application scope.  If components want the language
code or the version number, they can use the workingSubtitles model.
Implemented workflow and refactored controllers.app module

Implemented modal class to handle the workflow and a controller to handle
the workflow progression area.

Decided to refactor the app controllor module since I wanted to test
the new code and there wasn't really a good way to do that.  Also the
file was getting pretty large and needed some better organization.

Started to get a more serious with the unittests.  Added some a module
with some very basic mocking functionality.

I think this new system is probably how we should organize our other
controller modules.  Controllers aren't placed in the global scope,
but in a module.controller() call.  Modal classes are placed in a
value.  This makes everything easy to test.

Added signal to save the current version.

Removed SubtitleStorage from the WorkingSubtitleController.  There
isn't a dependency anymore.