Overhauled URI generation. We now support named arguments, relative, divergent, and convergent URIs.