Don't raise in the middle

MSP-11343

This means we don't bomb out with an unhandled exception, instead
continuing attempting logins against the host even though it will never
succeed. Next up: verify state before running scan!()
Add a check_setup method
Better api for check_setup
Explicitly set @version to nil if we can't detect
Add docstrings and avoid multiple returns
Land #3779, Glassfish LoginScanner exception

MSP-11343