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.
m_UpdatedFiles was being updated while it was still being used by the
script thread. Instead, copy the list, clear it out, and have the
script thread process the copy.