pull label removal bits of unlabelled_repl_step into separate function

makes the "state of the label-remover" look more abstract, and avoids a
bit of code duplication. this might break some bootstrap lemmas
in a minor way.
work towards removing false EqualityType_FMAP_TYPE cheat

want to use weaker but sufficient INPUT_TYPE_no_closures instead.
looks like this will work, but will require lots of tedious proof to
establish that REPL_FUN_REPL_FUN_STATE_TYPE has no closures, essentially
re-doing the EqualityType theorems produced by the translator but which
are useless since we don't have equality types inside, only no_closures
types.