scrollToBottomAnimated: fix long message handling

fixes #480
improve layout for smaller cells

in some cases, `Top` alignment is best - this commit handles those cases
add 'keyboardDidHide' notification handling

:: JSQMessagesKeyboardControllerDelegate protocol adds options `keyboardControllerDidReceiveKeyboardHideNotification:` method
:: this method is called within the completion block of the typical keyboard frame change notification handler, ensuring that the 'hide' message is received last
:: `JSQMessagesViewController` uses this delegate callback to call `jsq_setToolbarBottomLayoutGuideConstant:` with a value of `0.0f` (ensuring that a 'hidden' keyboard results in a 0-position input toolbar)
Fix for Scroll Animation
Added two public methods to control collectionview scroll animation
More refactoring to the newly added methods
add button customization comments to demo. #669
Merge branch 'develop' of https://github.com/jessesquires/JSQMessagesViewController into develop
update README for customizing toolbar buttons. close #669
Merge pull request #651 from deepakraj89/Fix_ScrollAnimation

Fix for Scroll Animation (close #515)
clean up from PR #651. update docs.
add assert to didPressAccessoryButton:
fix keyboard dismissal and firstResponder bugs. close #640. close #510.
Update README.md
Merge pull request #646 from evilstudios/keyboard-notification-fix

Fix #645: add 'keyboardDidHide' notification handling
address code review comments from PR #646, ref #645, #314, #640
fix #648. fix #646. close #649.
Merge pull request #644 from evilstudios/develop

fix #480: scrollToBottomAnimated: fix long message handling
clean up from PR #644 code review
bump version numbers