Changed FormatterExtension to a map.

Was using a reified protocol as the last form in each of the extensions.
Decided to change it to a map, because I went and look at this again:
http://cemerick.com/2011/07/05/flowchart-for-choosing-the-right-clojure-type-definition-form/
and figured, hey, I wasn't actually using any of the fancy stuff! Plus,
maps are easier to work with if you're working across modules.

I still think "Use load-file to get the last form, and use that to do your
logic" isn't a *great* solution, but I can't think of a better way to
allow drop-in extensions...that's probably because I'm Not Very
Experienced. If you're looking at this and you recoil in horror, going "oh
god no!" please do inform me what a better way would be.
Added description, url to map; landing lists exts

Added :description, :url keys to the extension map.

Modified the landing page so that it will list the extensions according to
their :url and :description fields. Works with drop-in extensions with no
additional configuration required. If they do not have :url or
:description fields, will just display blank list entries.