Fix mod bug in FilePollerTest
Fix mod bug in FilePollerTest

Summary:
Dumb mistake on my part, I effectively did:
```
nsec_diff = 1e7
nsec_diff %= 1e9
nsec_curr += nsec_diff
```
(causing overflow when nsec_curr started >= 990,000,000ns) instead of
```
nsec_diff = 1e7
nsec_curr += nsec_diff
nsec_curr %= 1e9
```
in `updateModifiedTime()` helper in FilePollerTest, which I should have caught while testing (bug occurs about 1% of the time based on the way I wrote the tests).

I also added some code to take the absolute value of tv_nsec in the test to make sure the won't go negative now that I mod after subtraction.

While stress testing this, I also noticed that sometimes I could run `TestFileCreatedLate()` ~10000 times without error, but other times it would fail (often several times in a batch). After adding some logging in the polling thread, I was able to get it to fail as follows:
```
✗ wangle/util/test:file_poller_test - FilePollerTest.TestFileCreatedLate 0.203s 1706/10000 (failed)
I0117 14:35:18.260192 1674940 FilePollerTest.cpp:243] Start
I0117 14:35:18.271251 1674959 FilePoller.h:135] Poll
I0117 14:35:18.271301 1674959 FilePoller.h:143] file still exists: 0
I0117 14:35:18.271368 1674959 FilePoller.h:144] file touched: 0
I0117 14:35:18.271387 1674959 FilePoller.h:145] file created: 0
I0117 14:35:18.281350 1674959 FilePoller.h:135] Poll
I0117 14:35:18.281391 1674959 FilePoller.h:143] file still exists: 0
I0117 14:35:18.281416 1674959 FilePoller.h:144] file touched: 0
I0117 14:35:18.281430 1674959 FilePoller.h:145] file created: 0
I0117 14:35:18.291477 1674959 FilePoller.h:135] Poll
I0117 14:35:18.291532 1674959 FilePoller.h:143] file still exists: 0
I0117 14:35:18.291555 1674959 FilePoller.h:144] file touched: 0
I0117 14:35:18.291568 1674959 FilePoller.h:145] file created: 0
I0117 14:35:18.301558 1674959 FilePoller.h:135] Poll
I0117 14:35:18.301597 1674959 FilePoller.h:143] file still exists: 0
I0117 14:35:18.301620 1674959 FilePoller.h:144] file touched: 0
I0117 14:35:18.301632 1674959 FilePoller.h:145] file created: 0
I0117 14:35:18.311662 1674959 FilePoller.h:135] Poll
I0117 14:35:18.311704 1674959 FilePoller.h:143] file still exists: 0
I0117 14:35:18.311724 1674959 FilePoller.h:144] file touched: 0
I0117 14:35:18.311736 1674959 FilePoller.h:145] file created: 0
I0117 14:35:18.321717 1674959 FilePoller.h:135] Poll
I0117 14:35:18.321751 1674959 FilePoller.h:143] file still exists: 0
I0117 14:35:18.321770 1674959 FilePoller.h:144] file touched: 0
I0117 14:35:18.321781 1674959 FilePoller.h:145] file created: 0
I0117 14:35:18.331773 1674959 FilePoller.h:135] Poll
I0117 14:35:18.331804 1674959 FilePoller.h:143] file still exists: 0
I0117 14:35:18.331835 1674959 FilePoller.h:144] file touched: 0
I0117 14:35:18.331845 1674959 FilePoller.h:145] file created: 0
I0117 14:35:18.341862 1674959 FilePoller.h:135] Poll
I0117 14:35:18.341899 1674959 FilePoller.h:143] file still exists: 0
I0117 14:35:18.341926 1674959 FilePoller.h:144] file touched: 0
I0117 14:35:18.461647 1674959 FilePoller.h:145] file created: 0
I0117 14:35:18.461757 1674959 FilePoller.h:135] Poll
I0117 14:35:18.461782 1674959 FilePoller.h:143] file still exists: 0
I0117 14:35:18.461807 1674959 FilePoller.h:144] file touched: 1
I0117 14:35:18.461832 1674959 FilePoller.h:145] file created: 1
wangle/util/test/FilePollerTest.cpp:167: Failure
      Expected: updated
      Which is: false
To be equal to: expect
      Which is: true
wangle/util/test/FilePollerTest.cpp:221: Failure
Expected: state.waitForUpdate(expect) doesn't generate new fatal failures in the current thread.
  Actual: it does.
wangle/util/test/FilePollerTest.cpp:254: Failure
Expected: poller.waitForUpdate() doesn't generate new fatal failures in the current thread.
  Actual: it does.
```
The fact that the poller had just noticed the file modification after the timeout (but before it printed failure) suggests the timeout was a little too short. Also the time between prints here:
  I0117 14:35:18.341926 1674959 FilePoller.h:144] file touched: 0
vs
  I0117 14:35:18.461647 1674959 FilePoller.h:145] file created: 0
makes me think a context switch interfered with the program. Even though this is relatively difficult to trigger, the wait time for UpdateSyncState in FilePollerTest has been increased from 100 milliseconds to 1 second just to be safe.

Also changed type of timeDiff arg in `updateModifiedTime()` from time_point to nanoseconds while I was at it since it represents a duration of time.

Reviewed By: yfeldblum

Differential Revision: D13726005

fbshipit-source-id: da6b5f1107ca3c0fadb1620131e27547411bfb2d

facebook/wangle,facebook/wangle,facebook/wangle