Better support for HTTPBodyStream

Since NSURL session by default uses HTTPBodyStreams, this is needed to support anything that uses NSURLSession, including AFNetworking 2.0. Whee!
If the data is not de-serializable, the code currently returns the input string... and the code above depends on that behavior.  I think it's also likely that this parameter-sorting should be applied for form-encoded data, not just JSON, but that may add some complexity.