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 change.  The two codecs should be consistent which ever way we go.  However other codecs (snappy) seem not to write the uncompressed element to the output buffer.  Also it is possible there is other stuff in the pipeline that may consume the buffer so I'm not sure if we should be writing this here?  Thoughts?