C++style streams for uLCD, improve Packet syntax, eliminate annoying warnings

stream implementation is only partial/ongoing.
also updated DC to new CAN packet syntax, and extended that syntax.

streaming requires 1 buffer string on heap. See docstring in ulcd28pt.h
for analysis of safety

also update to use lambda X macros. I solved the need for double
lambdas (like in the DriverControls ctor) with macro wrapping. watch
out for macro-name collisions