Reliably revive after oldifying even when workload throws
Summary:
Making the oldify-revive stuff more resilient so as not to leave the shared heap in a bad state.
Details:
Currently, if the `f` in ServerIdeUtils.declare_and_check throws, the shared heap is left in a bad state for the files which were oldified but not revived. Subsequent usage of the shared heap by the typechecker will crash the server with assertion error (example: modifying a file which causes watchman to detect the file change invoke typechecking in the corrupted shared heap)
Reviewed By: dabek
Differential Revision:
D3931364
fbshipit-source-id:
62f25a1481e6b506f98acf851a1f594276046e72