Fix deser of null values for collection/array type deserializers

* All of these deserializers should ask the encapsulated valueDeserializer for its nullValue when `VALUE_NULL` is encountered, rather than assuming a return value of `null`.
* This is a bug that affects the ser/deser of `Collection[Option[_]]` in scala, as `None` values are serialized to `null` and deserialized back to `null` rather than `None`, which is correctly overridden in `OptionDeserializer`
* Note I am a first time committer and happy to sign any release. Thanks!