Mms: Clear notifications and mark messages read in certain situations

I made these changes to CarbonRom (a fork of CM11), and I
heard that people were still having these issues in CM11.
These two commits (merged into one here) fix issues where messages
in the Mms app were not getting marked as read in certain situations,
and the notification was not getting cleared when tapped.

More details about these bugs can be found in my original commits to
Carbon:

https://github.com/CarbonDev/android_packages_apps_Mms/commit/b3a831a6e3019d256163b23870e0f4e0134fce16

https://github.com/CarbonDev/android_packages_apps_Mms/commit/21c851e139c56f387c83e11d12d2a2fa8e0c3ff0

Change-Id: If6d716f71d7b6ee5986665c32c0adfab21085a07
Avoid ConversationList/ComposeMessage activity leaks

First, ConversationList activity leak, Contact.mListeners are only unbound
when ListItemViews are recycled, without considering the activity exit case
or message delete case.
Second, ComposeMessage activity leak: use SoftReferences instead of
HardReferences for the slideshow cache.

Change-Id: Ic235b31403b26aba16bf6b8b51bff7b4c6f68d98
Signed-off-by: Guobin Zhang <guobin.zhang@intel.com>
Stop previous TaskStack worker

Each time we delete all threads, a new TaskStack thread is started.
We need stop the previous one to avoid over memory consumption.

Change-Id: Ibee8dd7b8e757df0686c7989dc7d9878f9ef5102
Signed-off-by: Emmanuel Berthier <emmanuel.berthier@intel.com>