Changes to syncing triggers

The old method was to sync if subtitles_complete changed or a new
version was added.  This was problematic because in
pipeline.add_subtitles() we might want to change subtitles_complete
and then add a new version as one atomic action.  This would mess with
what we synced.

Changed it so that after add_subtitles() we emit the subtitles_changed
signal.  The externalsites code connects to that and decides if we
should sync or not.

Also if subtitles_complete gets changed outside of add_subtitles(), we
will send the subtitles_changed signal then.