Clean use of video_id and youtube_id

Depends on #118 and #140.

**Background:**

`video_id` is an abstract ID that corresponds to a video lesson; `youtube_id` is an actual video.  Usually `video_id` corresponds to many `youtube_ids` (one per language), and a `youtube_id` corresponds to a single `video_id`.  However, this is not strictly so--one `youtube_id` can be used for multiple `video_ids` (if a single video encapsulates multiple video lessons), and a `video_id` could have multiple `youtube_ids` for a single language (if the first was not very good, and was re-recorded)

In our code, `video_id` should be used for all reporting and for completion.  `youtube_id` is used for metadata (exactly which video was watched that led to this `video_id` being completed?), for streaming videos (including showing subtitles), downloading, and deleting videos.  Therefore `youtube_id` is used mainly in the `i18n` and `updates` apps, while `video_id` is used largely in the `coachreports` and caching code, while both are used in `main`, `khanload`, and elsewhere.  

**Changes:**

Walked through the code to make sure the above schema was obeyed.  Once this is in, I plan to add the `background` above to the KALite documentation.

**Testing:**

None.  Automated tests are enough.