Add API key and SSH key support
Add API key and SSH key support

1/ Slightly similar to https://github.com/napalm-automation/napalm-ios/pull/59 this patch adds support for the following netmiko optional args:
port, verbose, use_keys, key_file, ssh_strict, system_host_keys, alt_host_keys, alt_key_file, ssh_config_file and allow_agent
This allows the SSH transport to use SSH keys instead of passwords.

2/ removed self.port = optional_args.get('port', 22)
That optional arg is defined in 1/  and its default value is set in netmiko to 22 (when using ssh) if not defined before
https://github.com/ktbyers/netmiko/blob/master/netmiko/base_connection.py#L48

3/ Adds the possibility to pass the https API key as optional args instead of username/password, this is to avoid storing cleartext password anywhere
GGabriele/napalm-panos