now got vector reduce window working (both windowing by cell, and windowing all elements with a single window stream.

Next: get macro defs working for vectors
macro support for vector buckets (each and 'window') supported.
Merge remote-tracking branch 'origin/master'

Conflicts:
	test/programs/Program1.scala
As Ben points out, macros were unnecessary!
Got transportable TermBuilders working, but it's a hack.
I think the MacroTerm and VectTerm should be chained through dependent types, which would allow the initial TermBuilder to define what type of terms are built (e.g. simple syntax tree collection versus actual installation into an event graph)
Proof of concept further abstraction of 'Term' so that I can capture the expression, rather than trying to capture the projection of expression -> graph function dependencies.

These top-level expressions are far simpler, and therefore easier to analyse / refactor for partitioning on a grid or running with alternal evaluators.

(the problem with the porjected  graph dependencies is that by this point there are also object references which would be far harder to unpick or capture)
refactors to make this stuff more abstract and transportable.
Main class of interest is currently ExprCollector.Test
This shows building expression trees, and applying them to different contexts
removed FuncCollector interface, to be completely handled by Environment interface, allowing easy integration with Mekon
should be able to drop mekon in now