Avoid outputting nulls in serialised json when EmitDefaultValue is false

This should in theory avoid serialising any DataMembers that are null and marked as having EmitDefaultValue as false. Sorry, I've been unable to test this because I don't have time to setup things up fully, but badly in need for this fix as soon as possible. As far as I can tell the logic is sound, the only caveat is , it won't cover defaults for things like integers or bools etc.

I can look up the bug report if needed.