Allow for overriding connection for version + info

Currently, connection is hardwired for version and info, this allows you to provide a custom connection object for the purpose of dealing with multiple servers, defaulting to the self.connection if this isn't provided.