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.
Merge pull request #119 from atlasapi/broadcast-ordering

Make broadcast ordering for persistence a total ordering