Make RecyclerView tests faster and less flaky

This CL makes a bunch improvements in RecyclerView tests.
* Change requestFocus helper to wait for smooth scroller (flakiness)
* Disable activity launch animation (perf)
* Make sure SavedState tests uses same items on restore (flakiness)
* Better step calculation in TouchUtils (perf)
* Replace scroller to add a listener instead of busy waits (perf & flakiness)
* Re-use the same TestActivity between tests. (perf)
  * This seems very dangerious but given that we have many short running
    tests, it greatly improves the performance.

Change-Id: Id17e5b581c690816e82726bcabfd4899d13b6403
16 files changed