Creating a better spec for TestGraph and fleshing out implementation. A big refactor is looming and better test coverage of existing behaviour is required
Made edges unique by value and type rather than default Object.equals().

Renamed Node interface because long imports to prevent namespace clashes was irritating, XNode is not good either so expect another renamr
* Refactored Nodes to not be graph aware - this was a bad idea in terms of model implementation complexity

* Added exceptions that have log4j style constructors, i.e parameterised messages.
* First pass at writing something to actually execute the fixtures that will be derived from the test graph
* Refactoring previous work - its TDD you know ;)
* Removing complex/unnecessary generics
* Renamed base event class
* First pass at test execution lifecycle modelling
* Non-trivial lifecycle execution use case implementation
* "Unhappy path"lifecycle execution use case
* Refactoring structure
* Refactoring structure
* Refactoring structure in to modules (mostly to speed up incremental builds)
* Cleaning up some inspection warnings