Fix breed methods

See https://github.com/NetLogo/NetLogo-Headless/issues/3. I have a number of commits here because I wanted to show the development of the refactor. They are all squashable upon request. The StructureChecker refactor (77494d1) is only partially complete. Depending on how we want to go with the refactor, I could:
 1) remove it entirely
 2) pull it over to another branch
 3) finish it on this branch before merging in
This line is kind of unwieldy and tough to read.  Can the arguments be extracted out into local variables with some informative names?