Changed serializer to XmlSerializer instead of BinaryFormatter

Needed to debug incorrect values being loaded on startup, and XML is easier to read. Also better support for data interchange.
Cleaned up update events

* Moved serialization on close to DocumentBeforeClose event
* Moved class property updates based on combobox changes to SelectionChangeCommitted event to prevent issues with SelectedIndexChanged events being fired unpredictably
* Tightened the conditions under which UpdateTrackingNumber() is called
* Fixes #1