Added implementation in PSTCollectionViewFlowLayout for:
- (void)encodeWithCoder:(NSCoder *)coder
Writes out the same keys that are used in initFromCoder.  This fixes an issue where if the flow layout was serialized and then deserialized it wouldn't
contain the original values.
Merge pull request #277 from jeff96/master

Fix for Issue: #276 - encodeWithCoder:(NSCoder *)coder in PSTCollectionViewFlowLayout is not implemented
code style
use objc subscripting
Better match scroll to item behavior to UICollectionView
Set indexPath regardless of if it is present in the new model
Assemble a dictionary of views that are to be removed

The previous implementation would check if a given PSTCollectionViewItemKey is
present in the new visible views dictionary. This did not work for the following
case:

Item [0,0]
Item [0,1]
Item [0,2]

Deleting item at [0,1] should result in the alpha fade and eventual removal
from the superview and recycle, but actually since [0,1] is a valid index in the
new layout, [0,2] gets removed instead.

This solution adds views that are to be deleted into a specific NSDictionary
that gets enumerated after all animations are finished. All views contained
inside are recycled.
Add array backing to illustrate deletion
Fix compiler warning - unused variable
Fix double 'batchUpdates'
Uncomment removing deleted view from visible views dictionary

Since `previouslyVisibleViewsDict` is no longer used, we can safely remove
the deleted view from `_allVisibleViewsDict`.