Improve the way that token editing is performed

* Change the data structures in TokenPanel
* Only change on OK button press
* Cancel button now closes window
* Added property change events to token
* Listen for token change events
* Implement updateToken in PipeApplicationController
Add tests for updating token