Breaking change: SymbolicReference.Target should not resolve to DirectReference

While hacking on #501, I noticed that `SymbolicReference.Target` does not behave like I expect when the target is a `SymbolicReference`. The current behavior is that `Target` is resolved all the way down to a `DirectReference`, so it's useless if you actually care that there are references in between (as I do while rewriting).

Since we have `ResolveToDirectReference()` explicitly for that purpose, I propose changing `Target` to always return a `Reference` corresponding to `TargetIdentifier`.