Model creator now uses blocks.

This is to make the model creator more DSL-like.
Collapse channel_id functions to delegators.
Rewrite model creator as a DSL.

This approach is slightly less clean internally, but reads better
than the create_a/create_from approach.
Remove channels.

Channel players and playlists have been lifted up into separate
player and playlist sets.

Channels have been completely removed.  This means that the API space has
changed - any URL of the form 'channels/X/player/Y' is now
'players/X/Y', and likewise with 'playlist' and 'playlists'.

playlist://X now semantically means 'load from the playlist with the same ID'.

There are likely to be some regressions here.