Fix issue #169. We should use clang_getSpellingLocation unless we're
working on a preprocessed file.

Also, it turns out the only time we get a cursor in the same location as
a reference the reference is a macro expansion. It also turns out we
prefer the macro expansion in the couple of locations I verified for this.