Selection and dragging is working for basic objects

* This is a hideous commit, apologies
* Changed LinkedList types to List/Collection everywhere, this may break
  a few things, but I'll add functionality back in later
* Modified Handlers to take models not views, this meant commenting out
  alot of view stuff, will add functionality back in later
* PetriNetController now deals with selecting items, SelectionManager makes
  use of this
* On creating an arc PetriNetController just creates the item, it's view
  is created on notifying its observers
* Deletion of an arc/cancellation needs handllling to remove it from petrinet
  view still