Adding TextPlainFormatter to always handle returning strings as text\pla...

One Functional test will be added after #849
Orthogonal to Pranav's comment, with the current implementation this is going to participate in content negotiation, if accept header or content type (set by using ProducesContent attr) is set. Now as per my discussion with @yishaigalatzer we want to always return text/plain format if the object is a string. However this means that if some action (or class ) had a 
```c#
[ProducesContent("application/json")]
```
then the produces content attribute gets ignored which in my opinion is not right. 
@yishaigalatzer  thoughts?