PublicDNS: put items in a table.

Possibly the most roundabout way to resolve issue #375.

- Remove static files from share directory.
- Put info into a perl structure.
- Generate the two static texts from the structure.
- Add minimal test for proper form.

It's almost like I haven't heard of Text::Table or Template::Toolkit.
Nevertheless, I think this is not too arcane for this relatively simple
usage.  On the other hand, I am going to feel like a fool for not just
editing the two static files when it turns out there are never any
changes to the data.
PublicDNS: improve styling.

- Add a heading.
- Attempt to recreate a more appealing style.
- Add ABSTRACT to reduce test scroll-spam.

I tried to copy a suggested style.  I think I am pretty close, but since
that style is external, I can't just reuse it with impunity.
Merge pull request #387 from mwmiller/dns_table

PublicDNS: put items in a table.
Die, nonsense!
expand dax's powers
added plain text triggers
Merge pull request #391 from duckduckgo/andthentherewasdax

expand dax's powers
DuckDuckGo: make the structure easier to maintain.

- Group up data in more human-friendly ways.
- Allow for generation of text and html responses from a base format, in
  most cases
- Move (almost) all processing outside the handler.

This also alphabetizes the keyword list which may have been a mistake.
The keywords don't reflect everything (given aliases) and maybe the old
structure made it easier for people to know where to put things
by looking for similar subjects.

Includes some improvements suggested by @crazedpsyc and @moollaza on
previous revisions.
Merge pull request #392 from mwmiller/ddg_layout

DuckDuckGo: make the structure easier to maintain.
Merge branch 'master' into bttf