Feature/sections

Adds section support to PSCollectionView. This completely changes the API, so it might be harder to get this merged upstream in the future.  However, it adds a bunch of features to PSCollectionView.