Fix Net::DNS::RR::SOA.build_pack
Fix warning on unsupported record types in additional records
Allow creating empty packets
Fix Net::DNS::Names.valid?

It doesn't make much sense to test for a fixed list of TLDs as the list will
change every now and then. Instead add some more checks for syntax correctness,
and allow a trailing dot; also make the method accept the root domain ".".
Net::DNS::RR::SOA.subclass_new_from_string: fix bogus number checks
Net::DNS::RR::SOA: only check the domain part of a RNAME for validity

If the mailbox part of a RNAME contains dots, they have to be masked with
backslashes, making the RNAME an invalid domain name. For such a RNAME to
be recognized as valid add a RNAME validation method that only checks the
domain part for validity.
Fix stylistic issues related to neoraider's changes