ChineseZodiac: expand trigger space with DatesRole.

This allows for entering specific dates which will be parsed into
DateTime objects for use in the calculation.

Also, switch to the DDH-standard format for the output date strings.
ChineseZodiac: improve test readability a bit.

- Switch out \x{2013} for literal en-dash, since the file is UTF8
- Switch out \s for literal space for easier reading.
Vim Cheat Sheet: update fetch and parse.

- Fetch from the live HTML site (http://vim.rtorr.com/)
- Combine fetch and parse, since the fetched files do not persist in the
  repository.
- Drop final table from live HTML as it points to translations.
- Do not append CSS to HTML, as it will now be included automatically.
- Add LWP::Simple dependency for fetch.
- Add List::MoreUtils dependency cause it's awesome.
Vim Cheat Sheet: update with latest available content.

This is the effect of running the fetch_and_parse.pl script.

Also, recognize the change from class to id on 'vim-container'
Convert the Hijri package to a generic Calendar package
Add support for conversion to/from the Jalali calendar
CalendarConversion: use DatesRole
CalendarConversion: update output format.

Also rework the logic somewhat to (potentially) make it easier to
follow.
DuckDuckGo: hidden service updates.

- Play down its status as a "hidden service", since we widely
  adverterise the availability of such.
- Add more 'onion'-y keys.
Set explicit caching everywhere.

This explicity sets the caching behavior for all goodies. Goodies which
did not have caching behavior set in their package have had it added.
Similarly for the tests.

This resulted in a number of changes for caching behavior, mostly
moving towards more frequent caching.

I identified three cases where goodies should not be cached. They are when
the result depends upon:

- some random element,
- the time of day or year (as with relative dates), or
- the location of the requesting user

In all other cases, I presumed that the goodies were sufficiently
deterministic in their output to warrant caching.
Example.pm template: freshener updates

- Point to metadata docs to help fill out section.
- Reorganize metadata into same order as docs.
- Remove "icon_url" and "source" which do not generally apply to
  Goodies.
- Better example strings for the `attribution` section.
- Use "guard" before "work" in example code.
Merge pull request #658 from mwmiller/template_update

Example.pm template: freshener updates
Example.pm template: correct code_url
Hijri: enable answer caching.
Merge pull request #659 from mwmiller/code_url

Example.pm template: correct code_url
CalendarConversion: expand test coverage.

Also cleaned up some code to make sure triggering makes at least minimal
sense.
CalendarConversion: update styling.

- New date outputs with per-calendar months.
- More standardized CSS.

I'm less than excited that you can't enter the other calendars with
month names, but that'll have to be ok for now.
Merge pull request #647 from mwmiller/hidden_in_plain_site

DuckDuckGo: hidden service updates.
Merge pull request #641 from mwmiller/vimparse

VimCheatSheet Updates,
Merge pull request #652 from duckduckgo/mwm/jalali

CalendarConversions: now with the Jalali calendar