First pass at pipe and testing it.
'final' optimization
First pass at EdgesPipe and tests.
Cleanup.
Revert "'final' optimization"

This reverts commit 56354e90530be1c086bf520b4a9b7d31170a7829.
First pass at ExpandablePipe and tests. This needs to be reviewed with dw to ensure the general idea and concepts are correct.
This time with the actual unit tests.
First pass at IdCollectionFilterPipeTest with tests. Need to review TODOs in this with dw.
Needs review and unit tests still.
Added IsEmptyPipe. Both need to be discussed with dw, but especially IsEmptyPipe.
Unit tests for IsUniquePipe.
First pass at LabelCollectionFilterPipe. Needs salt.  I mean tests.