Update QueryExecutor to follow approach of mere indirection facility, evaluate source node and if macro queries (almost) the same way property macros are handled. Since MacroNode got state, there's no need to keep cached maps of queries when regular field is sufficient.