Bunch of changes to make things work properly on RTD
Refactored actions and editor modes

Made a subtitle workflow class that encapsulates both of those things,
and also will handle permissions for #1665.  I think it is much
simpler to override 1 class than override multiple functions.

Changed how pipeline.add_subtitles works with actions:

- Made it so the workfer function _add_subtitles() only inputs actions.
  add_subtitles() still needs to input complete, because it's used by
  API calls and we want to maintain compatibility.  The way we handle
  it now is by either passing the Publish or Unpublish action to
  _add_subtitles().
- Moved where we perform the action.  Now we perform the action and
  set subtitles_complete in the same place.

Updated docs and tests.

Removed a couple tests that weren't working anymore.  I would rather
fix them, but I actually felt like the were not great tests:

- videos.tests.following: test_review_subs and test_approve_subs I
  don't think we should be testing the task logic in this test at all.
Very basic implementation of subtitle workflows permissions (#1665)

Made it so 2 parts of the code checks permissions using the subtitle
workflow system:
 - In the revisions page for a language, we call
   user_can_view_private_subtitles() to see which versions to display
 - In the language page, we call user_can_edit_subtitles() to see if
   we should enable the edit subtitles button.

Obviously we need to add lots more checks, but these 2 should be
enough to test that the underlying logic is correct.