SI-6961 no structural sharing in list serialization

Revert list serialization back to what it was in 2.9.x and before.

Partial revert of a6fcd70b60 e234978dfd, which fixed SI-5374.
The ListBuffer part of the fix remains in place.

Originally submitted as #2073. I just cleaned it up and rebased on 2.10.x.

Review by @axel22 and @jamesiry.