Fix the FileDescriptor Fatals in the build

@mvriel:

I'm making some typing assumptions in the layout of these UrlInterface classes, so be sure you're ok with the type hinting I've done, which goes beyond what was strictly necessary to get past the original Fatals.  I'm not sure that prefixing the name aliases with "Original*" accurately reflects the context of those objects, so let me know if there's a better name (e.g. "Source*" maybe?) and I'll update this PR.  Also, I'm on the fence on whether or not the @param values should be tighter than the actual method signatures are (e.g. @param OriginalClassDescriptor vs __invoke(DescriptorAbstract $node), so I can make both of those DescriptorAbstract if that seems better to you too.

After fixing the Fatals, I tried to dig further into the test errors regarding isByRef(), but that issue is more complex than my cursory glance at things can figure out.