dnsfilter: Allow support for IPv6 (only Yandex supported so far).  Note that we still cannot enforce a server, we will simply ensure that the user uses one that is specified in dnsfilter.
www: replaced leftover validate_string() with validator.string() method
kernel-arm: re-added HID support accidentally removed in the 3626 merge
dnsfilter: revert Asus's use of u32 as that module seems broken under 2.6.36
dnsfilter: we currently don't support custom IPv6 servers
dnsfilter: dynamically size the array of supported servers - also fixes Comodo support at the same time
dnsfilter: Implement non-enforced support for IPv6 servers (based on Asus's Yandex support); allow handling two servers per service.

Asus's latest YandexDNS changes will have dnsmasq allocate a Yandex DNS server to specific clients based on their MAC.  We reuse
that idea in our own IPv6 support, rather than flat out reject any IPv6 DNS query.  Note that so far, Yandex is the only
filtering service amongst those supported which does have IPv6 servers.  Any other service will still reject any IPv6-based
DNS query to avoid working around an enforced DNSFilter by going down the IPv6 route.

This modified implementation opens the door to allowing IPv4 users to chose between a soft filter (where we just
return the filtering service's DNS on DHCP queries and reject queries sent to another DNS server) and a hard filter
(the current behaviour where we NAT DNS queries to force them onto the filtering service's DNS).  It's unsure at this
time if there would be any point in adding soft filtering to IPv4, so this isn't implemented yet.