Create a PetriNetManager

* This will be reponsible for creating a petri net, sends listener event
  to the view
* The aim of this is to remove the view from controller calls
* Currently the view registers itself with the controller, it listens
  for a change event and then calls the same previous controller message
Implement PipeApplicationView listers for petri net addition deletion

* This is far from finished
* Attempt to register petri net view to listen to PetriNetManager
Change ownership of animation history etc.

* Now use property change listener and observers
* ApplicationModel now tracks if the view is showing in animation
  mode or not
* Remove ApplicatioNSetting calls from CreateActions
PetriNetManagerImpl fires new petri net message when loading from file
Make NameChangeListener a static inner class
FunctionalEvaluationException extends Exception rather than Throwable
Delete PNMLTransformer

* No longer used, new implementation is PetriNetIO
Remove redundant public modifier from interfaces

* Add better comments too
Optimize imports
Refactor PetriNet to move out Animation into its own class

* Add unit tests
* Change methods
Fix bug in cloning Arc

* Put wrong place/transition in connectables map
* Put old transition in new petri net
* Added unit test
Fix a bug in firing self loop tokens

* Needed to take into account places where tokens were decremented
* Add test case
First stab at reacahability

* Create pipe-module module in Maven
* Implement Reachability class that writes the states to a Writer
* Not completely sure probability/rates functions are right
* Need to ask Will about how to create tests
Comment up reachability even more
Fix bug in editing a Place, can now press ok if no changing name
Fix bugs in reachability and add basic unit test for vanishing

* Vanishing states in second exploration should not take rate 1, should
  take state from last known transient state
* Needed to mark transition from transient states when doing vanishing
  exploraiton
Move Record to its own class and Delete PrettyWriterFormatter

* Record is now its own class since this will be useful later
* Delete PrettyWritterFormatter was purely for testing
* Instead mashal into Records using a JSON parser from jackson library
Add test for vanishing cyclic states

* Unlike PIPE 4, we must sum up all the state transitions after the
  reachability file has been generated.
* CHECK WITH WILL but I think this is better, the previous
  implementation stores the transitions to write in memory - which then
  makes all the memory saving tricks in his 1996 PhD pointless since
  we're storing all the transitions anyway!
Reorganise reachability package
Extract Reading Results Stream out into its own class