[thread-safety] fix infinite loop in quotient_access_map
[thread-safety] fix infinite loop in quotient_access_map

Summary:
This was a subtle one. The ranking function of `aux` is the cardinality of `m`..
But if `may_alias` is not reflexive, then `k_part` will be empty, `non_k_part` will be the same size, and we'll diverge.
Sneakily, `may_alias` is actually *not* reflexive because `is_subtype t1 t2` doesn't check for the equality of `t1` and `t2`.
That is confusing and should be fixed separately.

For now, just make sure `may_alias` is always reflexive and add an assertion that `k_part` is never empty.

Reviewed By: jeremydubreil

Differential Revision: D5177427

fbshipit-source-id: 0549d6a

facebook/infer,jvillard/infer,jvillard/infer,ropas/infer,facebook/infer,blzq/infer,ropas/infer,ropas/infer,jvillard/infer,facebook/infer,jvillard/infer,blzq/infer,blzq/infer,blzq/infer,facebook/infer,ropas/infer,jvillard/infer,jvillard/infer,ropas/infer,facebook/infer,blzq/infer,facebook/infer,ropas/infer,facebook/infer,jvillard/infer,blzq/infer