Can not mark the same content of browser page after copy

Marking a text on the web page and then press copy works,
but trying to mark the same text again does not work.
The reason for this is that the selection never gets
cleared in webkit.
The fix, calling cleaSelection in the onDestroyActionMode.
Also added clearSelection when getting an
onConfigurationChange.

Change-Id: I59b384cb5441b6a3a05007ea7e77f9699889a87c
Fix race condition in ActivityThread.completeRemoveProvider()

This should solve the problem when exceptions like below are thrown:
java.lang.IllegalStateException: unstableCount < 0: -1
android.os.Parcel.readException()
android.os.Parcel.readException()
android.app.ActivityManagerProxy.refContentProvider()
android.app.ActivityThread.releaseProvider()

Change-Id: I97ca9f7f0b57221bc3aa41727936292cc79b92c9
gps: fixed singleshot session that doesn't stop

When a single shot location is requested and a
location is returned, the location request is
not stopped and so it continues even when the
requestor has stopped listening. This can cause
gps tracking to continue in the backgroud and eat
up battery.

This is fixed by stoping the provider if there
are no more update record associated with it
when a location is returned.

Change-Id: Ie437732ff06231a46724843af30e21ca3a1694ab