increase fileprocessor exception precision

nullpointerexceptions will now describe source with more precision
write exam file before thread completion

this prevents the UI from trying to open the file before it is written