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.
This would seem to suffer from the problems try-with-resources was introduced to solve. See http://mail.openjdk.java.net/pipermail/coin-dev/2009-February/000011.html. Basically, the problems are:

1. If indexHash.close() throws an Exception, the original exception is lost (and that was probably the more relevant one)
1. If indexHash.close() throws, then indexData.close() won't be attempted, etc.