Fix ssh_gateway values without a username in them

This change fixes the behavior when an ssh_gateway is given that is simply a
hostname and doesn't include a username.

Previously, ssh_gateway values without an @ in them would result in the
hostname value being stored in gw_user and gw_host being nil, causing an
exception on the next line.

In addition, the line that sets a default username for the gateway to the same
as for the machine itself has been removed. This code never took effect anyway
due to the previous bug and it makes an incorrect assumption that the username
on the new machine is the same as the username on the gateway machine, which
is almost never the case given that the username on the new machine is
something like root, ec2user or ubuntu when creating a machine.