Diffable Datasource Snapshots

Diffable datasources provides a great API for driving your collection view updates in a transactional, state-driven way. We no longer have to manually call insert/delete/move rows when the data is changed. Instead, we apply a new snapshot and the changes are made for us, including animations.

This is a companion discussion topic for the original entry at https://nsscreencast.com/episodes/454-modern-collection-views-05-diffable-datasource-snapshots