Instance types.
Flesh out STYAddress.

STYAddress is now an array of addresses (more inline with how
NSNetService and CFHost works).

STYAddress can now initialise itself with a hostname and port and a
NSNetService.

STYAddress can now resolve itself (currently only for NSNetService)
STY client and host resolving refactoring

STYClient now takes _only_ an STYAddress. STYAddress now contains all the
magic necessary to go from hostnames and NSNetSetvice to addresses.

STYClient now relies on STYAddress to resolve NSNetServices.

STYServiceDiscoverer now has NSNetService resolving removed - this is now
in STYClient and STYAddress.

This keeps the code simple:

* STYServiceDiscoverer is purely concerned with discovering serves.
* STYAddress handles and resolves addresses and/or services
* STYClient is concerned with connecting to addresses.
* (STYPeer is concerned with communicating with peers)