Use alarm service instead on location manager for intervals

When the alarm ticks, add the listener, get values, and remove
listener. Prior, the listener was killing battery and locking
up gps when in gps mode. Also add gps passive and fused location
provider options.