non-existing item can be added to the list even though it exists in the
users preferences.
Moved a script function retrieval into a try/catch block.
Fixed a file list bug, needed to make a copy and clear; also if a crash
happened the list would never be cleared, and a script could get stuck on
one file. Scripts should have their own try/catch around each individual
file if they want to continue processing files without interruption.