Introduced PublicUrls

Refactoring: finally began to rip out those nasty explicit references to
the reverse router, and instead put in a decent abstraction layer to
use.

In this case, removed all explicit reverse-router references to
doCreateThing2(), replacing them with createAndEditUrl().