Various location fixes

-Prevent PendingIntents from using LocationRequest SystemApis. We don't
track permission removal, so we don't current reset the request if the
permission is lost.
-Make LocationRequest.getWorkSource() NonNull. Small quality of life
change to reduce null checks all over.
-Don't spend CPU coarsening location until we actually need to. The vast
majority of locations will never need to be coarsened. Don't bother
doing so until we actually need to.

Bug: 169887240
Test: manual + presubmit
Change-Id: I7ad6fe886eaede3ed9f46cebe4246d29d6b6e187
9 files changed