added ERROR() function which introduces an error in the expression eval
refactored to reuse code block
pipeline operators now have a way to signal upstream should stop
when starting an upstream component, downstream components
now also provide a stopchannel.  the stophcannel can be closed
by the downstream component, which is a signal to the upstream
component that it should stop all work.
operators were changed such that their writes are now a limited
form of non-blocking.  they still block in teh sense that they
won't do any other work when they have something to write.  but
they are able to detect a stop-work signal and cleanup themselves.
this should avoid leaking go channels.
finally, http network endpoint and network interface were cleaned
up.  the network interface can now signal stop work to the rest
of the pipeline as well.
add log code to all operators