fix #335 Ensures that file resources are allways released.

A call to close() in StoreDirect.java  will now release all resources even in the event that some file channels are already closed because of interrupted threads.

Also a call to close() will ensure that the engine is marked as closed.