Collect UDT info, handle UDT schema change pushes
Define serializer for UDTs
Use io.BytesIO for collection serialization
Merge branch 'master' into 2.1-support