Update code style
Use reuseIdentifier in Decoration View ItemKeys
Improve speed, especially with large data sets

_globalItems is not a cache of the index paths (at least, in UICollectionView it isn't). This commit
removes that concept for now. Eventually, it should be added back in, but when it does there are a
whole load of other methods that need adding such as 'loadEverything' and
'setLayoutAttributes:atGlobalItemIndex:'. We should do that, but that's for another day.
Lazy load the collection view for registering cells at init
Merge pull request #316 from mattjgalloway/lazy-load

Lazy load the collection view for registering cells at init
Merge pull request #315 from mattjgalloway/speed-up-large-datasets

Improve speed, especially with large data sets
Merge pull request #256 from cysp/for-review/decorationview-itemkey

DecorationView "kind" identifiers are ignored
Add missing import
Rename const string
Add Decoration View test case (thanks to @cysp)
Fix assertion when deleting the last section
Merge pull request #319 from alexanderedge/master

Fix assertion when deleting the last section.
Fix for issue 323. Decoration views do not display properly.
Removed reuseIdentifier which was no longer used along with two unused methods.
If the layout isn't prepared, then prepare it when it's about to be used
Fix associated object disappearing

The associated object gets cleared out in invalidate layout, so it
makes sense to add it in prepare layout. Otherwise, once the layout has
been invalidated once, the associated object is gone forever and won't
ever be created again.
Use dot notation for idempotent methods.
The runtime class switcher now checks for the class size and tries to fix situations where the ivar size of the new superclass is different (e.g. potential future iOS updates)
We can ignore cases where the PST class is larger than the UI-class.
fixed number of items before section