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
I would rather this was just an `if/else if/else` chain.  Not much in terms of patterns being matched here.