add options rotate handling

for resolv.conf "options rotate" line, enable shuffling of nameservers
before each query. (should just rotate start position and maintain order?).
overhaul test system
Add dns.ipv6.is_mapped(); Reverse IPv6 mapped IPv4 into v4 space
add top-level test targets
Add dns.rdtypes.ANY.DNSKEY.flags_to_text_set() and flags_from_text_set().

Map between DNSKEY RR flags bit array and set of human-readable names.
Allow empty APL RR.
Merge pull request #71 from spacekpe/DNSKEY.flags_to_text_set

Add dns.rdtypes.ANY.DNSKEY.flags_to_text_set()
Merge pull request #67 from bastiak/master

IDNA encoding/decoding issue fix
In _escapify, rename whitespaces_only to unicode_mode
Add ChangeLog entries for accepted patches.
Fix relativization in RRSIG to_text()
Fix exception when reading from a masterfile.

When reading from a masterfile, if the first content line started
with leading whitespace, we raised an ugly exception instead of
doing the right thing, namely using the zone origin as the name.
[#73]
add thanks
Add dns.zone.to_text() convenience method.

Thanks to Brandon Whaley <redkrieg@gmail.com> for the patch.
Merge pull request #58 from underrun/options_rotate

add options rotate handling
Add ChangeLog entry for resolver.rotate
Tweak options processing for greater flexibility
Merge pull request #76 from bastiak/master

NSEC3PARAM should allow only 4 parts of data
Cope with 64-bit Python on Windows passing the wrong value for the unbounded slice constant.
Fix ChangeLog formatting.
Prep 1.12.0