go: Proper support for py3-generated data and py3
- Add robust support for data generated by python3 based on ogórek StrictUnicode mode.
- Test handling of all ZODB kinds of data we care about: py2/pickle{1,2,3} and py3/pickle3, fix issues discovered along the way.
- Fix interoperability with py3 programs: for example previously index, that FileStorage/go saves, was not readable on py3 side.
- Switch encoding protocol for pickles, that ZODB/go and other go places emit, from 2 to 3.
- EDIT 20240820: Switch unpickling to work in PyDict=y mode.
- EDIT 20240820: Add tests for zodb.Map and zodb.List .
- minor fixes.
Robust support for py3-generated data is needed for Wendelin.core .
This work depends on recent zodbtools update from nexedi/zodbtools!29 (merged).
/cc @jerome, @levin.zimmermann, @vnmabus