Resolve "Add AbstractPort" and "Change Port ID to Port Index"
- Changes the port module by introducing a fully abstract "Port" interface and then an "AbstractPort" abstract class that implements the Port interface, which is in line with the class diagram.
- Renames many functions such as "connect_port" to "connect" and "connect_signal" to "add_signal" for better useability and to fit with the class diagram.
- Moves "AbstractGraphComponent" to the graph_component module.
- Also renames functions such as "connect_source" to "set_source" in signal.
- Refactors Port ID to Port Index as in #49 (closed)
- Move AbstractOperation implementation to the operation module.
- Mode BFS implementation from the utilites module to the operation module to solve cyclic imports.
Closes #48 (closed) Closes #49 (closed)
Edited by Angus Lothian