Eliminate version query from title_display() (#1463)

This was actually very easy since we already were setting Video.title
from the version for the primary audio language.  The query in
Video.title_display() was completely redundant.
Removed logging statements
Fixed issue updating Video.title with tasks (#1463)

Added code to fix it and also a migration to fix legacy data.  I've
already run the SQL for this migration a couple times on production so
when we deploy it shouldn't need to fix too many rows.

Also fixed issue running video_changed_tasks() when completing tasks.
I'm not sure what happened with the old code, but it looks like an
editing error caused totally crazy code to be there.
Added management command to fix blank video titles (#1463)
Merge branch 'staging' into gh-1463
Fixed unittests
Fix for setting video titles.

The new code sets it in SubtitleVersion.save() and
SubtitleVersion.publish() instead of pipeline.add_subtitles().  I
think that's a better place to do the work and I believe it fixes the
bugs that janet was seeing.
Couple of fixes for setting titles

Set subtitle_visibility='private' for TaskAction.  This makes it so we
don't set the title before the subtitles are published.

Fixed how we set video metadata.  Before both the SubtitleLanguage and
the SubtitleVersion were trying to make changes to the video and save
it.  However, they both had a different video object, so the changes
were clobbering each other.
Removed some cruft from the TERN update days
Update video metadata like we do titles

This change makes it so when you publish a SubtitleVersion in the
primary audio language, we update the video's metadata just like we do
with title.

Refactored save() a bit so that we can save the metadata with the
other changes.
Slight tweak for SubtitleVerion.get_metadata()

If the previous version's metadata is blank, and the version is for
the primary audio language, then we use the video's metadata value.
This fixes a bug that janet and I both saw, but can't really
reproduce.  In any case, I think this method is a bit better.
Reorded the subtitle upload dialog buttons
Fix for SubtitleVersion.save()

It now just ignores metadata when passed metadata=None.  This fixes the
unittests and a bunch of other cases.
Fixed metadata tests to reflect the changes
Fix subtitle actions with tasks

Added TaskSaveDraft action, which correctly sets subtitle_visibility
to private when initially creating the version.

Use Publish() action for post-publish edits.
Fix webdriver test

Changed it so we don't update the video title when title=''.  I think
that the API user should always send a title, but it seems OK to still
have the check.

Updated webdriver test to check for the updated speaker name.
Make save draft an action

I think this simplifies things by making all things you can do in the
editor an action.  We have several workflows that want to perform some
work when a draft is saved and they have to override
action_for_add_subtitles(), which is annoying.  Now they can just add
the code to the save draft action.

We still need action_for_add_subtitles(), since we have to support API
calls from partners that don't specify an action.  But we now only
need to support it for older workflows.
Refactored action code

Split perform() into several parts:
  - validate() handles the validation part
  - update_language() handles updating the SubtitleLanguage in
    add_subtitles().
  - perform() handles the stuff that used to be done in do_perform().

The main improvement is that perform() isn't called until after the
add_subtitles() transaction is committed, which seems more correct.
For example if we want to try to send a ping to some external service
we shouldn't do it until we have actually saved the data in the DB.

I also think that the code is a bit simpler now.  Calling the function
do_perform() was a bit awkward.  Also we don't need the send_signals()
function anymore, we can move that code into perform().

I think the tasks code should still work.  One difference is that the
code that was in do_perform() is being called later on, after the
subtitles are saved.  However, this is basically the same process as
saving a draft, then clicking the Complete/Approve/Send Back button
without any extra changes.
Fix send back action (#1862)
Paginatore can now also do show more functionality