Several 'History' fixes.

History is now loaded explicitly rather than on first access.
History will now purge non-existent files from its record as it is loaded.
The 'last open project' is only opened automatically on startup if that project was actually open when the pipelinetool was closed.
History was incorrectly recording project files that had not yet been saved to disk (eg, import / newproject ).
Either works. I figured that so long as I need to loop through the items to do additional test before adding them (!IsNullOrEmpty and File.Exists) that I might as well read them one at a time rather than allocating an array.