Avoid building case classes with nulls

When de-serializing a case class, a case class containing 'nulls' may be built if no property is found that matches a field name. This change introduces an explicit check, and a message will be emitted in case a property is missing.

If the user intends to really build a case class containing nulls when no property is found, that can still be accomplished by using default parameters, as in: `case class a(b:String=null)`