Support ssh_gateway knife option

Right now the knife-openstack code attempts to verify that SSH is
available prior to handing off to knife boostrap. This code creates
a simple tcp connection to the appropiate port and then attempts to
read the banner. However, this does not take into account a user
specifying an ssh_gateway in their knife.rb.

So, update this code to first attempt to build a tunnel and then
connect, in the same manner, via TCP. Once we have a conneciton, we
will then proceed with the bootstrap.