node: split Node input and output ports into separate classes.
test: begin re-enabling io-tests.