fixed FileClassLoader so it correctly closes streams
added javadoc to Streams
refactored out FileReader out of FileFunction/FilesFunction