[SPARK-3453] Refactor Netty module to use BlockTransferService.

Also includes some partial support for uploading blocks.
Use Epoll.isAvailable in BlockServer as well.
Added more documentation.
Reference count buffers and clean them up properly.
Fixed ShuffleBlockFetcherIteratorSuite.
Forgot to add TestSerializer to the commit list.
Shorten NioManagedBuffer and NettyManagedBuffer class names.
Added more test cases covering cleanup when fault happens in ShuffleBlockFetcherIteratorSuite
Fixed style violation.
Fixed BlockClientHandlerSuite
Incorporated feedback from Norman:
- use same pool for boss and worker
- remove ioratio
- disable caching of byte buf allocator
- childoption sendbuf/receivebuf
- fire exception through pipeline

In addition:
- fire failure handler BlockFetchingListener at least once per block.
- enabled a bunch of ignored tests
Added connection pooling.
Removed BlockManager.getLocalShuffleFromDisk.
Fixed test hanging.
Mark private package visibility and MimaExcludes.
Implement java.io.Closeable interface.
Added logging.
Add more debug message.
Logging close() in case close() fails.
Fixed tests.