Fix crash when encountering alias templates in isDerivedFrom matches.

- pull out function to drill to the CXXRecordDecl from the type,
  to allow recursive resolution
- make the analysis more robust by rather skipping values we don't
  understand

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187676 91177308-0d34-0410-b5e6-96231b3b80d8
Implement Allman style.

Patch by Frank Miller.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187678 91177308-0d34-0410-b5e6-96231b3b80d8