Add TXT record parsing and SRV records. Improve API for more extensible support.

I essentially rewrote a good deal of the API, making this version definitely a breaking change, probably should be bumped a major version if this gets merged. I updated an example in the examples/ directory, although it can be improved a bit.

I may have misunderstood something with the DNS protocol (as i just read up on it in a day with zero experience), so the parsing might be off slightly, although discovery works with both chromecast and appletv, and it displays the full information.