Add/remove optional Empty View

Adds an optional 'empty' `UIView` when the table or collectionview has no items, then removes the empty view when the table or collectionview has items added.

@segiddins @andrewsardone any thoughts? Methinks pretty neat, other than the admittedly-unfortunate `SSCoreDataSource` hack here :)