New feature: create a reversal.

This is probably the worst commit I've made in a while. I'm basically
not happy with any real part of it. But it works.

We use the url_template gem to handle url templating, but it isn't
expanding variable names correctly, so I'm doing that myself. With
gsub. Hopefully I can clean that up.

Furthermore, we need to sort of store an 'environment' of mappings
of ivars to the template names. Global-ish mutable state makes me
very uneasy...

@matthewfl, I want your opinion on how to not make this suck.