Added diff generator

Hi, I have integrated [a diff generator by Ian Mercer] (http://blog.abodit.com/2014/05/json-patch-c-implementation/) (with his permission). I think it's pretty useful.

I had to make some breaking changes to the existing code in order to do top-level object replacements (e.g. patching ["asd"] to { "def" : "ghi" } didn't work before, 

Some of the changes I made:
 - use pass-by-ref variable in order to apply patches - otherwise it is impossible to do a root level patch to an object
 - IPatchTarget has been replaced by a generic base class

If you don't want to integrate it let me know and I will run my own fork. I'm not wedded to the API layout or anything, so feel free to refactor stylistically.

I also brought in NUnit, as Ian's tests were written in that and I didn't want to port them.