improve DirectByteBufferPool and some smaller fixes

 * dispatch Closed events to the sender of the close command as well
 * DirectByteBufferPool changes:

     * hide behind BufferPool interface
     * only return buffers of the configured size
     * reduce work to be done while locked
     * use Array-based stack to store free buffers instead of linked lists
     * keep buffers by soft reference