Something in quick-xml's internals changed in this version in a way that
broke our admittedly hacky plist parsing.
Although the journey was long, the fix was easy: we need to explicitly
handle the 'dict' key as a field when we are deserializing the lib.
This also includes a few more explicit 'skip_serializing_if'
annotations, since once we were working again we were writing out empty
strings in places where we hadn't been on the previous quick-xml.
One note on this impl that just occurs to me: it is possible now that
deserialization will fail if the <lib> section of some object contains
something other than a dict; we can discuss in review whether or not
this is a problem.