Always close files in case of exceptions upon creation.

If the user of the library gets an exception before he
can get the actual object he will be unable to manually
close it. Therefore the library will now close it instead.
Suppressing exceptions inside all `Closeable.close()` methods seems undesirable. I think I would go for suppressing/logging/propagating exceptions at this call site instead.

Otherwise exceptions in e.g. `SingleThreadedSparkeyReader.close()` will also be suppressed, which you might not want.