Excl nodes

This PR makes nodes responsible for their exclusivity, supporting the use case for assembly supply nodes.

Not a lot is going on here, except making arcs a class rather than a struct, and moving the notion of exclusiveness onto nodes rather than arcs. This has been sitting in my fork waiting for what has become a larger thrust of resource exchange analysis. I wanted to get this in before full work started on the sprint.