Do not perform subtyping checks in non-value-assigning functions
Do not perform subtyping checks in non-value-assigning functions

Summary:
This diff changes `bind_*` (other than bind_var, see inline comment), `unify_declared_type`, and `init_import` to use `unify_write_entry` instead of `assign_env_value_entry`.

These functions were unnecessarily emitting subtyping checks against providers in places where assignments were not happening.

While init_import technically initializes an imported value, imports have no providers so this check was expensively fully-resolving a type from shared memory to flow it to mixed. We should not emit a constrained write there.

Reviewed By: SamChou19815

Differential Revision: D35557325

fbshipit-source-id: 6fae6693c211103d267e0efdee9f22802a94de85

facebook/flow,mroch/flow,mroch/flow,mroch/flow,facebook/flow,facebook/flow,facebook/flow,mroch/flow,mroch/flow,mroch/flow,facebook/flow,mroch/flow,facebook/flow,facebook/flow