Make the parent-map use significantly less memory.

On test files I ran this on, memory consumption overall went down from
2.5G to 2G, without performance regressions.
I also investigated making DynTypedNode by itself smaller (by pulling
out pointers for everything that doesn't fit in 8 bytes). This led to
another 200-300MB saved, but also introduced a significant regression in
performance due to the memory management overhead.

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