separate typing_env_types and typing_env
Summary:
This diff will allow constructors in Typing_make_type to actually call things like `union` and `intersect`.
It separates Typing_env and Typing_env_types in two different modules to make it easier to deal with circular dependencies. (Typing_env used to *include* Typing_env_types, now it opens it). Now Typing_make_type can depend on Typing_env_types only, avoiding a circular dependency with Typing_env (see
D16964381).
Most modules referring to type `env` or other types and record fields now simply open Typing_env_types, the same way they open Typing_defs.
Reviewed By: Wilfred
Differential Revision:
D16964286
fbshipit-source-id:
14e0ef9352f8ab7a3ddfbbb80a1fcadace9f9a17