New unit test files and switching on of loads of compiler warnings that are off by default.
More unit tests around the plist handling code, including around the main function. Added the plist handling code to the handling of the argv parameters to main so you can now pass a plist instead of a version number to the app and it will read that to compose a version/build number instead