Factor out some common functionality in ty_normalizer converters
Factor out some common functionality in ty_normalizer converters

Summary:
Some functionality in `TypeConverter` and `ExpandMembersConverter` was duplicated between them. This extracts them for increased sharing.

* Introduces `maybe_t` and `optional_t` since the behavior for both `MaybeT` and `OptionalT` was identical between the converters
* Factors out `type_variable`. The behavior on `empty` in `ExpandMembersConverter` was slightly different, but `TypeConverter` provides strictly more information, so I went with that implementation
* Factors out the `EvalT` functionality (inlining `type_destructor_t` and `latent_pred_t`) which was identical

Changelog: [internal]

Reviewed By: samwgoldman

Differential Revision: D40305797

fbshipit-source-id: a7cb4ecb79183a478b8fc0b4372e6bbc88f1c197

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