cLock: Force a location update when lastKnownLocation = null

If lastKnownLocation is not present because none of the apps in the
device has requested the current location to the system yet,
then try to get the current location use an non-accuracy/network
provider.

Patchset 2: Remember the location listener to not queue up multiple requests
Patchset 3: Untie listener instance from (short-lived) service instance
Patchset 4: Cleanup

Change-Id: I86712145562f361115944d1b801ed139991000a4
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Merge "cLock: Force a location update when lastKnownLocation = null" into cm-10.1
Merge remote-tracking branch 'upstream/cm-10.1' into cm-10.1