[#1244] Support ChannelTransferPromise for sendFile
Renames and typos
Replace TransferFuture(Listener) with (Channel)ProgressiveFuture(Listener)

- Now works without the transport package
- Renamed TransferFuture to ProgressiveFuture and ChannelProgressiveFuture / same for promises
- ProgressiveFutureListener now extends GenericProgressiveFutureListener and GenericFutureListener (add/removeTransferListener*() were removed)
- Renamed DefaultEventListeners to DefaultFutureListeners and only accept GenericFutureListeners
- Various clean-up
Use progress + total instead of delta

.. because there is sometimes a task whose total is only a rough
estimation
Fix a bug where HttpContentEncoder does not update 'Content-Length' and 'Transfer-Encoding' correctly

- Add 'Content-Length' and remove 'Transfer-Encoding' in case of FullHttpMessage
- Remove 'Content-Length' and add 'Transfer-Encoding: chunked' in case of non-full HttpMessage
- Fixes #1275
Revamp HttpContentEncoder

- Use state machine to simplify the code
- Always produce a chunked response for simplicity
- Change the signature of beginEncode() - HttpContent was simply unnecessary.
- Add more test cases
- Fixes #1280