Resolve "Simulate SFG"
Closes #22 (closed) and #24 (closed). This merge will:
- add some important test cases
- implement deep copying of SFG
- implement Simulation
- add Register operation
- refactor operation evaluation to allow for simulation of registers/delays with loops and nested SFGs
- refactor neighbors/parameter/traverse interface by moving it to GraphComponent
- add some convenience functions to Operation
- tidy up the method signatures of some interfaces to be more general
- move bit length specification from InputPort to Signal
- add customization point for specifying input truncation behavior for user operations