DuckDuckGo: make the structure easier to maintain.

- Group up data in more human-friendly ways.
- 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 on a previous version