Implement TXT record parsing for properties

This is a pretty big PR, mainly because there was some strangeness in the parsing of TXT records. There weren't many pure C# DNS implementations around - most P/Invoked to dnsds.dll.

The DNS code included is a subset of the files here:
http://www.codeproject.com/Articles/23673/DNS-NET-Resolver-C

They're allowed to be used under the codeproject license. The author simply requests that the namespaces of the types not change.

The internals now correctly read the necessary DNS records and can now return the TXT properties as well.