Loads project information from filename, clearing the current information in the project. The reason argument is used in reporting messages to the user if any files in the old project are unsaved.