Fix POSTing nested JSON objects to server

When POSTing or PUTing an object with nested objects for example `{ 'foo': { 'bar': 'baz' } }` reqwest would send `foo=[object Object]`.

I got the implementation of `reqwest.toQueryString` used here mostly from jQuery.param in [src/serialize.js](https://github.com/jquery/jquery/blob/e06a8cae3a1de58b770a66cbd124cf50e809fb31/src/serialize.js). I added a test to check for this as well.