Don't override 'Content-Type' if set by endpoint

Also add support for 'text/plain' in Accept header
@zachmullen Yes, I guess I was missing how Accept was being used here, I was thinking of my own use case. JSON encoding in that case is probably a good idea.