UIScrollView+FrankScrolling improvements

Originally I made this as a workaround for #200

Changes
1. The scrolling can be animated (duration is a parameter) so that the scroll view does not jump and we can see what the tests are doing.
2. Added more scrollview delegate calls (e.g. `scrollViewWillBeginDragging:`)
3. Removed explicit `scrollViewDidScroll:` call (it's called anyway by `setContentOffset:animated:`)
4. Improved boundary checks (insets taken into account)
5. The scrollview will bounce back when content offset is outside the limits
6. Some additional checks (e.g. `scrollEnabled`, check whether table section&row are valid).

I have tested this extensively but please review.
Compatibilty with older versions shouldn't be a problem - only if you were scrolling outside the limits.