Use machine_options[:ssh_username] for transport.

Give precedence to machine_options instead of machine_spec when itcomes
choosing the ssh username.

Also update the machine_spec with the machine_options value if transport
is successful.

This replaces #45 with a clean commit history.

Should solve #44 and #51.