Fixed race condition where synchronouslyClose() would be called multiple

times if AbstractAsyncWriter.close() called twice simultaneously.
Allowing close() to be called multiple times as per java.io.Closeable
interface specifications.