Do not flush cancelled writes.

My experience with Netty is pretty limited, so I'm not sure if this is an issue or not. The fact is that the following lines will result in an actual channel write when I expected none:

            ChannelHandlerContext ctx = ...
            ByteBuf out = ...
            ctx.write(out).cancel(false);
            ctx.flush();

A thorough example can be found [here](https://gist.github.com/xfrag/8859329#file-nettywritecanceltest-java). Were there any plans to support such use cases in Netty? Looks like my changes don't break anything, the project compiles with all tests passed.

Thanks