Fix incorrect fragment animation used for hiding fragments

Mirror of support lib patch
https://android-review.googlesource.com/#/c/60032/ into
frameworks/base.

Change-Id: I8d1cb2e217721336674b8e3e2ef8722a8d9baefd
Fix Watchdog HeartbeatHandler to run on correct thread

The HeartbeatHandler for the System Server Watchdog has been running
on the wrong thread due to a race condition in initialization.  It's
designed to run on ServerThread, so that it can catch lockups in the
main looper of the System Server.  It has been running on
ActivityManagerThread instead, so it does not detect lockups on the
ServerThread as it should.

ActivityManagerService is calling Watchdog.getInstance() before
ServerThread calls Watchdog.getInstance().init(), so the handler is
being bound to the ActivityManagerThread instead of the ServerThread.

Explicitly bind HeartbeatHandler to ServerThread, so that the Watchdog
catches lockups on this critical thread.

Change-Id: Iccb184ac3adb817feb86ed4ee0e50e443bf74636
"Clear all" button on recent apps

    Ported from ParanoidAndroid by zigackly:
    https://github.com/ParanoidAndroid/android_frameworks_base/commit/f8c44e6ef667a3ebe9b658f148fa78a8d4f9a8dd

    Add button to tablet layout ported from Codename Android by zigackly:
    https://github.com/CNA/android_frameworks_base/commit/8d259fe3588c261baa5a17c361255cf28cc82bfe

    Patch set 2: Make the layout consistent, with the button at the top right.

    Patch set 3: Remove the redundant use of removeTask()

    Patch set 4: Top right layout does not work in tablet mode: make it top left for tablets only.

    Patch set 5: Different implementation (No need to keep track of views) - Danesh M

    Patch set 6: Top left layout no longer works for tablet mode with new implementation.
                 Make it bottom left for tablets only.