Disallow inconsistent splat or ph names in tree

Routes of the form:
    /r/:id
    /r/:key/other

Should be written
    /r/:id
    /r/:id/other

Indeed the TRIE nodes for those params are shared between routes, which means
only one name can exist for an entire Router instance. The code now panics
on AddRoute().