gps: fixed logic for finding the best package

Fixed the logic for finding the best package,
as it was always picking the last package in
the list as the best (regardless of which package
had the highest version) if there were multiple
packages with higher versions that the current.

Change-Id: Ibd61f0a050d65feb8bb1584f59b0a11974333af5

Conflicts:

	services/java/com/android/server/ServiceWatcher.java
Telephony: Avoid Infinite loop problem in Tethering

No need to have delayed message functionality for retrying
since we are listening to CONNECTIVITY_ACTION and would
retry if the upStream interface is available.

Change-Id: Ib56331dd699cfbab6060c1e8e8b82e272bd961ef