This patch consists of two related fixes. The first is a simple fix for forward compatibility,
setting the Mesh.dvert pointer when writing a file allows old Blender versions to read
vertex groups from newly saved files.
The second part is a bit uglier and more complex. Normally mesh vertex group data is read
in mesh_blend_read_data, for backward compatibility with very old files. However, after
05952aa94d33eeb50 the mesh.dvert pointer was not set, so the data was not read.
Reading vertex group layers when reading custom data is enough to fix that issue.
We need to read the data from *both* places, but BKE_defvert_blend_read cannot
run twice without memory leaks, so first try reading from custom data, then read the
pointer if that fails.