#697 enable uploading events when background fetch is triggered
#697 disable reachability observing when uploading events, so that reduce the complexity to maintain it when app is in the background.
#697 change the http request timeout from 2 minutes to 20 seconds for uploading events, so that it can fail timely since background fetch service only allows 30 seconds in total
#697 separate uploading from saving, so that we can explicitly upload events when app is in foreground.
#697 upload events in background when location changes significantly
Merge pull request #720 from google/issue697

Issue697