Make collection list property settable

@joe-goullaud 
This includes your commit as well as some documentation comments and assertions for the data source initializers. Please take a look when you have a chance.

This is going to `develop`, pending review and tagging for a versioned release to `master` along with a few other maintenance things. More full documentation comments will be merged in from a separate branch later.