Added TSVSerialiser utility class. Refs #9970

This class provides useful deserialisation routines for loading
and saving project files. Currently it only supports loading but
it will be given support for saving in the near future.

Hopefully this will help to seriously reduce the technical debt
of loading and saving project files.
Revert to fix broken build. Refs #9970
Add TSVSerialiser class. Refs #9970

This time it ought not break the build.
Fix most of, if not all, of the cppcheck warnings.

Refs #9970
Fix cppcheck warning in TSVSerialiser. Refs #9970
Fix crash when loading spectrogram. Refs #9970
Start refactoring project loading in AppWindow.

This is the first broad stroke of refactoring to use the new
TSVSerialiser class for loading/saving projects. It works, but it's far
from complete. There are a few known bugs, and a few more unknown ones
too.
Fix build on OSX. Refs #9970
Fix spectrogram loading error found by cppcheck

Refs #9970
Added Python script to modify Qt properties

Need to test on Mac and Windows

Refs #10015
Added reset bash script for Unix systems

Needs tested on Mac

Refs #10015
Create IProjectSerialisable interface.

This is the first part of the interface needed for the project
loading/saving refactoring. It specifies the method used to
accept input lines from a project and apply them to the window.

Refs #9970
Begin moving MultiLayer parsing into MultiLayer itself.

Refs #9970
Fix minor bug where project root folder was left unnamed.

Refs #9970
Change IProjectSerialisationInterface to ease further refactoring.

Refs #9970
Added license, added fallback to optparse

Refs #10015
Fixed formatting to be Python3 compatible

Refs #10015
Install reset scripts alongside executable

Refs #10015
Add float parsing to TSVSerialiser

Refs #9970
Fix CMakeLists to install reset scripts properly

Refs #10015