Ensure that loading and unloading of tasks happen symmetrically with lifecycle events. (Bug 18574950)

Since we were unloading tasks when the activity was stopped, but only reloading
tasks on the next onCreate()/onNewIntent(), there were cases where the system 
would create the activity but then immediately stop and start it (ie. when the
screen is turned off while the activity has resumeWhilePausing=True set in its 
manifest).  This CL ensures that we reload the tasks with the same state used
the last time the Recents activity was started.

The CL also cleans up some visibility state that was confusing and is no longer
necessary, fixes a small issue with the dismiss button flashing when toggling
Recents quickly, and fixes some cases where the initial stack scroll is set
incorrectly.
7 files changed