Don't run jobs when connectivity is not validated

Previously, the job scheduler would run jobs with connectivity
constraints as soon as "raw" connectivity was achieved.  This could
cause problems, though, because the device might be behind a
captive portal or similar, so apps expecting to contact the internet
would still see connect() failures or other unexpected results.

We now run such jobs only when connectivity has been validated,
so jobs have a stronger expectation that their needed internet
access will be possible.

Bug 28346529
Bug 36137931
Test: manual; use tethered phone hotspot, both with and without SIM,
      and verify that the 'validation' trigger is correct.

Change-Id: I79194467610ef9611d38f871d01f92044d0ee9de
1 file changed