Added AutoSave feature as an enhancement

This consists of a pop-up, which includes a "Remember this decision" check-box, that pops-up every time the user tries to run a sketch that hasn't been saved, and gives the user the option of saving and running the sketch, or running it directly without saving.

However, the AutoSave feature has deliberately been left out for an untitled sketch, since untitled sketches are often used for prototyping.
All the autoSaveDialog code(lines 1109-1179) should be in a separate function and not inside prepareRun(). Adding it inside this method makes it look too long. This code can be live outside of prepareRun() I believe?