Fix compatibility with JDK7 java.nio.file.Files

Files.readAllLines() in JDK7 requires a Charset to be passed as a parameter. JDK8 doesn't require it.
Add special handling for authenticate endpoint

When expected results for authenticate endpoint is status = success, check only that the actual results has status = success and has an non-empty token.

If the expected result is status != success, then do the normal exact check.
General cleanup
Catch exception when returned response isn't parseable
Explicitly require setting the 'authenticate' type for Check objects, instead of relying on 'endpoint' detection