Update algorithm for finding header file name without opening sources.

It now gets the full path of the original file name (or top-most framework include) /A/B/C/D.h.
Then it iterates through the parts D.h, C/D.h, B/C/D.h etc, until one of them can be found using the include search paths.
This is the spelling that will be returned.