Add additional tests and support more host syntax.

This commit adds support for more options to be stored on the `SSHKit::Host`
instances, examples:

    # Speciy username and port with IP address
    SSHKit::Host.new('user@123.45.67.89:1111')

    # Specify keys to use
    SSHKit::Host.new('example.com').tap do |sshkh|
      sshkh.keys = ['~/.ssh/id_rsa_example_com']
      # .. or simply .. (internally replaces to @keys)
      sshkh.key = '~/.ssh/id_rsa_example_com'
    end

The `SSHKit::Host` objects now expose a `#netssh_options` method returning a
hash compatible with the `Net::SSH.start(_ ,_, third)` argument for
`Net::SSH.start()`.

`whoami` (Fixes #14) is no longer required to infer the local username in
place of one having being specified. `Etc` from Ruby's standard library  is
now used.

(/cc @ain)