implement collect_variables in terms of all_of() it cuts down a lot of cruft, but it is also currently much more fragile/buggy (all the overridden collect_variables methods for special case are actually not called unless it is the top-level expression)! When Variables will be attached to/prefixed by particular entities, it should solve most of those problems
add FIXME
bump version, devel branch will become 0.9
renamed confusing variable
refactor to have all entities in the context.

Introduced the concept of EvaluationContext which holds the information for all entities.
fixed interactive console after context change
fixed explore command after context change