edit.py now checks validity of jobs, prompts user to correct invalid crontabs, and opens the crontab via preferred text editor, if available. Otherwise it prompts user to set a preferred text editor and exits.