ensure only one vsphere connection is made per run

Memoize the connection at the transport class level rather than the
instance level so that we only have one connection per puppet
apply. Accounts for transports to different hosts but not differences
in other connection options; you'll always get only one connection per
host.

This is pretty hacky, would be better if we could figure out how to
only create one Transport instance per puppet run.