Use the reflected network check on non-Linux platforms

If it has been determined that the reflected check (i.e. using Java 1.6+
code) can be used, then try that first on non-Linux systems.  If it
returns false or cannot be run, then the original Java 1.5 is still
used.

This prevents the network from being detected as down on non-Linux
systems with Java 1.7.0-b27.

See #10824, #10838, and #11244.
Expand the use of the reflected network check (See gh-1345)

As in 4d15d08e89358d1c99363e4b3bba4a7b690809ea, if the reflected check
can be used rely in it.  Furthermore, we will also now make use of the
java.net.InetAddress.isLoopbackAddress() method (available since Java
1.4) rather than looping through each and every possible interface and
retrospectively performing a string comparison on the actual addresses.
Add a testing main() to NetworkChecker
Merge pull request #1345 from melissalinkert/network-fix

Use the reflected network check on non-Linux platforms