Implement serializable in ReferenceList

Relying on SplObjectStorage serialization seems to be
problematic, especially when used with a large Item.

This converts the ReferenceList to a plain array
of Reference objects when serializing, which is more
reliable.

This appears to resolve the problems with ReferenceList
objects becoming corrupt.

Bug: 71479
Merge pull request #260 from wmde/referencelist

Implement serializable in ReferenceList