Cleaner reimplementation of _ENV 1/2

* Mimic semantics of 5.2
* Introduce ESETV, when specifically setting _ENV upvalue
* ESETV goes through list of upvalue users and sets GCfunc->env

This way we can have our cake (_ENV) and it eat too (compatible
with setfenv).

Signed-off-by: katlogic <git@git.git>