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.
Java version is set to 1.6, and since this is a library I don't want to upgrade it.

However, I'll make sure that all the readable close() will never through IOException in a new commit.