Add multiple domain support

Do not merge this (yet), this is not the version with per-domain handlers.

This PR adds to **SkyDNS** the ability to be authoritative for more than a single domain. Please see the commit messages for more details.

- [ ] one domain, one handler
- [ ] masquerade the answering NS (domains can have their own names for "ns.dns.skydns.local")
- [ ] move the query cache out of the handlers (optimal: before the mux)
- [ ] remove syscalls for time (a goroutine which is called every X ms will suffice; for cache/TTL see Redis)
- [ ] cross-domain recursion — how is that signed? (www.skynet.test CNAME srv1.region4.some.tld → IP)
This will move into a data structure to be fed to handlers anyway.

(1) Access for DNSSEC data is faster by ```x = map[domain]``` then iterating over another list.

(2) Given this:
```
ns.dns.fefe.de IN A 10.0.0.1
ns.dns.skydns.test IN A 10.0.0.1
```
… I want requests falling under *fefe.de* be answered from *ns.dns.fefe.de*. The struct will receive eventually another map, similar to *config.localDomain → config.Local*.