Added additional checks and delegate callbacks

Added checks to prevent initializing one panGestureRecognizer every
time. Added methods to prevent selection if collectionView does not
allow selection. I found that clearing the selected index paths in
willEndDraggingCell sometimes would crash since it’s too soon, I
commented it out since it is done later. Added fix so that the gesture
actually is committed also if the pan is over the threshold value