feat(frontends/lean): add [whnf] modifier to eval command
refactor(library/logic/cast): move heq declaration to a separate module

heq is be needed for some automatically generated constructions.
So, we want it available with the least number of dependencies.
refactor(library/data/prod): break into pieces to reduce dependencies

prod is needed for some automatically generated constructions.
So, it is important it is loaded in the environment as early as possible.
refactor(library/data/prod): break into pieces to reduce dependencies