Load project state

This covers:
* https://github.com/KSHSK/WAVED/issues/118 - Setting state on load.
* https://github.com/KSHSK/WAVED/issues/106 - Reading data file contents on load.
* https://github.com/KSHSK/WAVED/issues/95 - Deleting marked data on load.

These changes are heavy in functionality and should be strongly tested before merging. Need to test:
* Workspace properties are loaded correctly.
* Button widget properties are loaded correctly.
* Dataset list is the same after load.
* Dataset file contents are read on load.
* Marked datasets are deleted on load.
* Anything else you guys can think of!