Dodge possible race condition when uploading reports

In issue #86, @hannosch says some clients are uploading empty reports. I suspect they are older pre-batch-upload clients because the current code checks for `mReports.length() > 0`, but there is a (theoretical) race condition where a Reporter background thread could reset `mReports = new JSONArray()` after a second Reporter background thread is spawned but before the second thread uploads its (now empty) `mReports`.