add a (stupid) logger

a real logger can be passed in to the constructor
gitignore more backup files
tests: constructor

also, fix inconsistent behaviour when passed a single host
test helper library
tests: _get_connection

also, configurable connect delay