leanback: prevent RV update children during transition

Introduce onTransitionPrepare() which is earlier than onTransitionStart().
Now it's three stages:
- onTransitionPrepare() stops animation, scroll, user interaction but
allows RV change without item animation.
- onTransitionStart() further stops RV layout, prevent any child change until
onTransitionEnd() resumes it.  Adapter change is postponed.
- onTransitionEnd() restores everything.

Fixed a bug when focused header view is re-binding, select level
gets assigned to 0.

b/22067316

Change-Id: If3e05e0bffe8b1b3d67e424989142dc9b69cccdb
11 files changed