add task to investigate fsevent for reloading
initial machinery to expose node ports
add accessors for input and output port value maps

Keyed port values are stored in a map. The pipeline is only concerned with FBOImage connections, it is an imaging pipeline rather than a general-purpose value pipeline.
convert effector node to use keyed ports
add input and output connection map to node
make render handling for > 1 image port more flexible

While Pipeline only supports a maximum of 2 input image nodes, branchForNode will be able to construct trees with more complexity and the rendering loop can as well.

renderStackForRootBranch will need updates to support > 2.
make render branch stack generation handle 2+ inputs

While a maximum of 2 image inputs is supported, branchForNode can construct a trees with >2 inputs and the inner render loop within evaluate can assign input values for >2 inputs. To follow suit, renderStackForRootBranch should now be able to handle >2 inputs as well.

That said, the FBO is currently fixed at 3 attachments which will only support a maximum of 2 inputs following what I think the calculation to be:
  attachments = max inputs + 1
which allows 2 attachments for input images and another to write the result to.
temporarily disable output ports and connections

The imaging pipeline handles passing the output of one node to another, so the output port value map and connections table aren't used and just being disabled for now.
Merge branch 'refs/heads/keyed-ports'
create simple branch connection class

Instead of using a std::tuple, create a simple class. Nodes will need one as well so the naming might need some attention.
update node port task to be typed
be sure to use references not copies in range-based loops
more by reference instead of copy work
rename Connection to BranchConnection
add simple NodeConnection class

Wrap simple (source node:port) <-> (destination node:port) relationship in a class for nicer accessor syntax than std::tuple.
create simple NodePort class

Ports currently define a key and a type, but later could supply min/max and a default value when appropriate.

NodeConnection was renamed NodePortConnection to be even more descriptive.