Integrates config support into NMSSHSession.

This pull request adds -[NMSSHSession initWithHost:configs:withDefaultPort:defaultUsername:]. The {configs} array contains a list of NMSSHConfig objects. In practice, I'd expect most Mac OS clients to pass in the parsed contents of /etc/ssh_config and ~/.ssh/config. 

Settings from the configs may override the hostname, port number, or user name used to connect. A single NMSSHHostConfig is computed as a combination of all matching rules in all configs and saved in the NMSSHSession object, which makes it easy for clients to know which identity files to use, as well as any other properties of NMSSHHostConfig which may be added in the future.

There are two additional changes that are necessary to support this:
1. A "user" property was added to NMSSHHostConfig.
2. A bug fix for multiple rules that match a host (previously only the first would be used).