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)
This part just tests for zero-length and some other invalidities. The value is made fully-qualified below (`dns.Fqdn(node.Value)`) before returning.

This means you can enter unqualified records to etcd but get fully-qualified answers – which is in keeping with the rest of our conversions.