error improvements for annotations with evaluation
error improvements for annotations with evaluation

Summary:
Repositioning is often used just to set `annot_loc`. Setting `annot_loc` is important because references in rendered errors prefer `annot_loc` over `def_loc` over `loc`.

In particular, we try to be careful about making tvars inside AnnotT have some `annot_loc`. We missed a case where  `AnnotT` can flow to a `TypeDestructorTrigger` on the way to `eval_destructor`.

Reviewed By: panagosg7

Differential Revision: D16979430

fbshipit-source-id: c610b338eaf2fc714b5bbb2c0d202fa30f48ec87

samwgoldman/flow,mroch/flow,mroch/flow,mroch/flow,samwgoldman/flow,gabelevi/flow,samwgoldman/flow,gabelevi/flow,facebook/flow,samwgoldman/flow,mroch/flow,mroch/flow,gabelevi/flow,mroch/flow,facebook/flow,gabelevi/flow,facebook/flow,samwgoldman/flow,mroch/flow,gabelevi/flow,facebook/flow,samwgoldman/flow,samwgoldman/flow,facebook/flow,facebook/flow,gabelevi/flow,facebook/flow,gabelevi/flow