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
Oh wait, I get it now, you're suggesting:

```
  if (!breed.isLinkBreed)
    TurtleBreed
  else if (breed.isDirected)
    DirectedLinkBreed
  else
    UndirectedLinkBreed
```

yeah, I agree, that's better than either of the pattern-matching versions.