Clean up pos.ml

Summary: No change in runtime behavior.

Reviewed By: @jwatzman

Differential Revision: D1583083
Make hh_color more accurate.

Summary: The current implementation discards intervals when they are
nested / are nesting others inside. This patch flattens the intervals so
we get a more accurate picture of what is covered by types.

Reviewed By: @jwatzman

Differential Revision: D1583081