FlowNetwork skeleton
refactored so that weighted/unweighted takes precedence over mutable/immutable implementations.