Applied fixes to bugs found by Sérgio Silva - dragging failed to delete, and invalidateLayout wasn’t working.

The problem with invalidateLayout was causing me to call reloadData on the collection view - which
seemed (and was) wrong. Fix was to supply an isEquals for the layout attributes subclass.