Use more appropriate exception class when checking for collisions.
Rename ofClassRecord to withClassRecord.

We are going to add a lot more withFoo methods and I'd like this one to
be named like the rest, even if this doesn't parse quite as "fluent"ly.
WIP moar findDataObjects parameters
WIP search test improvements