Null is now properly deserialized

The deserializer wasn't recognizing null literals as such (~, empty
string, null, Null, NULL). As a result, a null string was deserialized
as an empty string. Added a test for this (roundtrip + emit defaults).