Don't make existential any if both uppers and lowers are empty
Don't make existential any if both uppers and lowers are empty

Summary:
We emit an "any value used as type" error when anys that are not of the `AnyError` kind make it to a `TypeT`. In order to avoid those errors due to libdef symbols with no lower bounds, we need to make sure that the `merge_tvar` calls from the context optimizer actually use the `no_lowers` function that the context optimizer passes.

I don't see why a tvar with no lowers or uppers is considered to be existential, and all the tests pass.

Reviewed By: panagosg7

Differential Revision: D26889190

fbshipit-source-id: 6056aa2c08c35f06ea63bbd90143cdc4f508c4bb

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