Implement ProgressivePromise notification in NIO byte channels and ChunkedWriteHandler

- Refine the contract of GenericProgressiveFutureListener.
- Negative 'total' now means 'unknown', which is useful for ChunkedWriteHandler.