HTTP Content Encoder allow EmptyLastHttpContent

Motiviation:
The HttpContentEncoder does not account for a EmptyLastHttpContent being provided as input.  This is useful in situations where the client is unable to determine if the current content chunk is the last content chunk (i.e. a proxy forwarding content when transfer encoding is chunked).

Modifications:
- HttpContentEncoder should not attempt to compress empty HttpContent objects

Result:
HttpContentEncoder supports a EmptyLastHttpContent to terminate the response.
@normanmaurer - Note this is now added for consistency with JdkZlibEncoder and [Bzip2](https://github.com/netty/netty/blob/master/codec/src/main/java/io/netty/handler/codec/compression/Bzip2Encoder.java#L105).