Make broadcast ordering for persistence a total ordering

Some broadcasts don't have IDs, due to what looks like a bug in the
BBC RDF adapter. These broadcasts wreak havoc with the read/write
hash codes, since the order of broadcasts changes, and thus the
hashCode of DBObjectList.

We will now defer to ID ordering if one of the IDs is null.