Renamed Cycle.link to Cycle.circularInject, plus improvements

circularInject() can receive an arbitrary number of input
DataFlowNodes.
Tests for circularInject()