Null values will still be passed to custom serializers.

This removes an undocumented conditional case and makes the load/dump contract easier to reason about.

I hit this accidentally in one of my projects where I was using the null object pattern and my null object wasn't serializing to `nil` and I was storing it in a not-null column. In hindsight I should probably change the serialization behaviour, however it took a while to track down and was non-intuitive. Given that it takes *more* code to create *less* intuitive behaviour, I feel removing it is justified.