Allow building with SocketRocket.
Silently do not discover JSON services without a JSON txtRecord.

Addresses #22.
Retain mDNS txtRecords as a service property.
The WebService cannot handle names for power, so we list it to query instead.
Use WebSockets if available, falling back on XmlIO if not.

Resolves #21.