don't send keys unless I changed them

Thanks for the awesome gem.

I did have one "problem". In our API, we don't always expect people to send the full template with the values that just exist in the value field of the template. Sometimes we might want to not send that data at all and let the server just default by not including that data attribute at all. We also have data attributes that need to have JSON null values, which you couldn't do since it stripped out any nil fields. 

What do you think about this? Feel free to disagree about our api choices too, although my reading of the spec didn't make it any clearer.