Support PTR records

Add support for PTR records.

PTR records come with basically no strings attached, they're like CNAMEs but don't have any expected behaviour associated – they're _nothing_ but an alias.

PTR records are commonly used for reverse lookups – but that's just a convention that's arisen, it's not the only use for them. For example, some [DNS service discovery approaches](http://www.ietf.org/rfc/rfc6763.txt) use them in other ways.

This does _slightly_ stricter validation than some other record types – checking for empty values.

(I do wonder if we shouldn't do the same zero-labels check for others, like CNAME)
Yeah, I was quite surprised to find that `dns.Fqdn` doesn't validate at all (it just adds trailing `.` if missing, basically)