making test base class work for multiple modems & transports and adding optional timeout