[Fixes #1183] Response uses chunked encoding when returning a string

/cc: @harshgMSFT @Tratcher @yishaigalatzer 

Just FYI...before my current changes following was the behavior when a string data was returned:
- Helios : chunked response
- WebListener : non-chunked response
Follow the logic in other formatters. This potentially creates a large byte array in memory if the string is really big, and puts it in gen2