Remove enabled and currentMarking fields from token, fixes #46

* Change Token constructor to no longer take in enabled and
  currentMarking, change everywhere used too
* Update the TokenEditorPanel to allow for deletion of tokes
* Factor out common methods of TokenEditorPanel and RateEditorPanel
* Will need to check when deleting a token it is not referenced
  elsewhere..
Fix unit tests

* Remove TokenView unit tests since the class should no longer be used
* Remove enabled out of the xml to get pipe-core tests to pass
  it shouldnt be there now we've removed the enabled field
PetriNetComponentException is now thrown from PetriNet

* This allows to throw an error when deleting a token that is referenced
  elsewhere
Change PetriNet to map Id -> PetriNetComponents #46

* This makes life a lot easier when trying to get components by id
* Annotations are the exception that don't seem to have ids
* Had to write AdaptedPetriNet so that the maps can be marshalled into
  the correct pnml format