Template reference formatting

Two changes to `CallResolver`: exposing a reference's target and string representations.

The first is straight forward: the addition of a `t` sub-part that behaves like the `b` sub-part, recursively evaluating the target reference.

The second comes from a number of attempts to format patterns like `{r}` or `{o}` only to have them not evaluate to anything: instead the empty string sub-part returns `Reference.toString(false, false)` to give a query and fragment free reference.