Fix IpReachabilityMonitorTest flakes/Q failures

IpReachabilityMonitor was failing on Q because of:
 - Usage of HexEncoding.encodeToString(byte[], boolean) that did not
   exist in Q
 - Flakes/failures caused by missing permissions when calling
   IpConnectivityLog
 - Flakes caused by mocking FileDescriptor#valid() while it could be
   accessed from another thread

Bug: 152723363
Test: atest IpReachabilityMonitorTest --rerun-until-failure 500
Change-Id: I9d38c696bf1b3b63be3b9df3161168ee291e7beb
3 files changed