allowsEmptySelection property

`indexPathForNextSelectableItemAfterIndexPath:` now returns the first index path if `nil` is passed.
Also, if the delegate return `NO` in `collectionView:shouldSelectItemAtIndexPath:` no cell will be selected.

If there's anything you'd like to point out feel free to let me know. 👍
Can we change this to `indexPath == nil`?