* It is much better to start afresh so deleted all code for running  modules
* This allowed for the PetriNetView to be deleted too
* All unit tests still pass
Pass PetriNetController into DeletePetriNetComponentAction #43wq
* Flag states if they are tangible/vanishing
* Add two new gspn examples in pipe-module
* GUI can choose whether to use existing Petri net (currently null) or
  load a Petri net
  It uses IntelliJ form editor
* Had to download and install jgraphx 2.5.1.0 keep an eye
  out for Maven release #51
Remove System.out.printlns
Rename Reachability to StateSpaceExplorer
Restructure StateSpaceExploration, #52

* Split out the parts of the exploration to allow writing to
  vanishing states too
* Add unit test for new StateSpaceExplorers
* This should allow for the parallel implementation to re-use the code too
Add tests for including vanishing states in state exploration

* One test fails needs exploring
Remove complicated VanishingExplorer #52

* Implement interface VanishingExplorer without abstract class
  now have OnTheFlyVanishingExplorer which performs on the fly removal
  and a SimpleVanishingExplorer which does not perform any removal
  and just returns the vanishing state

* Added cucumber tests
ReachabilitGraph contains vanishing state inclusion checkbox, #52

* Create relevant VanishingExplorer
Comment up ReachabilityGraph a bit
Comment up State space exploration entirely
Fix bug, needed to remove output stream from generate method of
SteadyStateExplorer in pipe-module-gui
Fix typo in SerlializingStateWriter name
SequentialStateSpaceExplorer does not write rates until state is fully
processed

* It sums duplicate rates as it processes successors
* This saves multiple transitions from state to successor being written
  out and the rate needing summing later
* All Unit tests still pass
Remove unused ReachabilitGraphFileHeader #49
Remove multi transition reading now state space only writes one
transition

* Rename MultiTransitionStateSpaceExploratioNReader to
  SeralizedStateSpaceExplorationReader
* Remove checking of results to see if transition exits
* Run all tests
Add tooltip support for visualising states, #50

* Basic support implemented by extending mxGraph to support tooltips
  and overriding the getToolTipForCell(Object cell) method. I cant
  find a better way to do this, the documentation is too lacking!
* Show string representation of map
Add rates to arcs and dont allow components to move

* It doesnt always look great as there is some overlapping in
  edge labels. Need to look into fixing this
Implement part of ParallelStateSpaceExplorer for #54

* Move rate calculation from sequential algorithm to the utils
* Add useful method just to getSuccessors() which returns only the
  Collection of states
* Implement the Callable class ParallelStateExplorer and add unit
* tests.  This class will not yet work becuase it relies on a single
  ExplorerUtilites which alters the Petri nets underlying state. Thus
  in parallel race coniditons will exist. #56 should fix this
* Have not finished/tested the parallel implementation
Move firing strategies into the arcs #56

* Arcs take a map of the current state of a petri net and return
  true if they could fire for that given state
* Create InboundArc and OutboundArc abstract classes and implement
  Inbound & Outbound normal strategy and Inbound Inhibitor strategy
* Program to the two new arc abstract classes
* Remove old ArcStrategy code
* Petri net now stores inbound and outbound arcs seperatly which wokrs
  well for methods where we wish to know the type of arc we are dealing
  with
* Unit tests pass