fixed issue #3 and some other tweaks

- fixed issue #3 (added some respondsToSelector checks for non-required methods such as tableView:heightForRowAtIndexPath: and numberOfSectionsInTableView:)
- minimumLegalDistance now takes contentInset.top into account
- now passing source indexPath to tableView:didEndDraggingCellToIndexPath:placeHolderView:
- added UIGestureRecognizerStateCancelled to gesture recognizer
- added tableViewShouldAnimateDraggedCells: method to DragAndDropTableViewDataSource, allowing a DragAndDropTableViewDataSource to opt out of animating the cells after they are dragged
- fixed unexpected non-editable cells issue (tableView:editingStyleForRowAtIndexPath: vs tableView:canEditRowAtIndexPath:)