Mangle the vbptr offset into pointers to member functions

This can actually be non-zero if you override a function from a virtual
base and you have forced the most_general pointer to member
representation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205727 91177308-0d34-0410-b5e6-96231b3b80d8
Thread Safety Analysis: update to internal SExpr handling.
This patch is the first part of a significant refactoring that seeks to restore
sanity to way thread safety analysis deals with capability expressions.  The
current patch merely provides an outline of the structure of the new system.
It's not yet connected to the actual analysis, so there's no change in
functionality.

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