Fix some problems with conversation cursor

1) If someone called setCursor, the internal state of the
ConversationCursor would prevent new cursors from being observed
2) If onRefreshReady happend while the list is scrolling, that wasn't
   handled when the list scrolling stopped
3) If both onRefreshReady and onRefreshRequired happened while
   the list is scrolling, when the list stopped scrolling, only
   onRefreshRequired would be called, which ends up unregistering the
   observer

Change-Id: I1b07b8b41b1025b981f5fdae7d6e2e18568029de
3 files changed