Pull all type definitions into LispValue

Avoids recursive module imports because of dependent type definitions.
Defines Func as a constructor for LispVal which depends on Env
Defines PrimitiveFunc as a constructor for LispVal which depends on
LispError