Fix Autocomplete damaging incremental mode

Summary: This fixes the behavior of oldify and revive when we have nothing stored at a key.

-If we try to revive on a key than has no old value, we should remove the current value.
-If we try to oldify something that has no value, we should remove the current old value.

Also added missing cache removal when we revive.

I'm not completely sold on relying on revive/oldify for autocomplete/other tools functionality in general. It might be more maintainable (but slower... doesn't seem like the perf hit here would really matter though) to take the classes/funcs out of shared memory and store them when we start, and then put them back when we're done, rather than relying on the good versions being 'one step back' in shared memory.

Reviewed By: @pikatchu

Differential Revision: D1458889