[analyzer] Aggressively cut back on the canonicalization in RegionStore.
Whenever we touch a single bindings cluster multiple times, we can delay
canonicalizing it until the final access. This has some interesting
implications, in particular that we shouldn't remove an /empty/ cluster
from the top-level map until canonicalization.
This is good for a 2% speedup or so on the test case in
<rdar://problem/
12810842>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169523
91177308-0d34-0410-b5e6-
96231b3b80d8