Added TailProduce static code and macros for streams definition.

I believe orderkey is a placeholder but I don't see any reference to it being used.  Can we make it die it the basemost class is initialized? orderstream(<some trait>) { assert(false); }