Extract the env resolver
Extract storing logic from the environment
Remove env.engine and env.remote

env.engine isn't used anywhere in the code and doesn't make much sense as
generator themselve select which engine to use, not the runner.

env.remote was supposedly used to fetch local generator, but the logic
doesn't work. It runned an async task and continued to simply launch error.
My guess is env.remote is an old relicat from a deprecated feature.