SingleSourceOp
coalesce all ops when they're constructed

- eliminate the public coalesce methods
- introduce `make` methods on each companion obj, with the most precise
type
clean up unneeded reparenting
simplify read, pure, match, and project
convert the rest of the WorkflowOps

- use chain() everywhere
fix syntax in comment
Merge pull request #355 from mossprescott/ready/coalesce-workflowops

Coalesce WorflowOps when they're constructed
diff node types (in progress)
improve project/reshape rendertrees

- indicate name vs. index
- a little test converage
improve RenderTree diff

- detect node type changes, for chrissakes
- always show changes as separate deleted/added nodes
- use `>>>` and `<<<` instead of text
render workflowops with Chain
tests for workflowop rendering
fix indent for multi-line labels
render map/reduce ops as chained

- and make foldLeftOp take varargs
- and more tests