Extend snippet to include all the YouTube methods

Now resources (Channel, Video, Playlist, PlaylistItem) have access
to all the data made available by YouTube in the 'snippet' part.
All the following methods are now available:

video.channel_id #=> "UCxO1tY8h1AhOz0T4ENwmpow"
video.channel_title #=> "Fullscreen"
video.category_id #=> "22"
video.live_broadcast_content #=> "none"
playlist.tags #=> []
playlist.channel_id #=> "UCxO1tY8h1AhOz0T4ENwmpow"
playlist.channel_title #=> "Fullscreen"
item.channel_id #=> "UCxO1tY8h1AhOz0T4ENwmpow"
item.channel_title #=> "Fullscreen"
item.playlist_id #=> "PLSWYkYzOrPMRCK6j0UgryI8E0NHhoVdRc"
item.video_id #=> "W4GhTprSsOY"

As part of this commit, PlaylistItem now inherit from Resource, and
therefore also has access to the status methods:

item.public? #=> true
Merge branch 'extend-snippet'
Add video.update to update the video snippet

The following fields can be edited: title, description, tags and categoryId.
Similarly to Playlist#update (and in order to avoid unwanted changes), only
the fields specified explicitly gets updated.

This differs from YouTube default behavior of resetting the unspecified fields.