Publish breed agent set changes for use by the NW extension

This pull request addresses #399. It was originally just a commit on the 5.0.x branch (523b89018fa16101dcce924e5afdf7a93e03f09f) but I reverted it (0fe90a8f08877f6cfe5b99768749b39f22a79477) and turned it into a pull request in order to address the following questions by @SethTisue with further commits and comments (to come):

> - what about World3D? (changes to World often require corresponding changes to World3D)
> - where is the test coverage?
> - this code runs every time a turtle or link is born or dies, right? is there any performance impact on our benchmark suite?
> - (what does scala.collection.mutable.Publisher look like? I don't know anything about that class in particular, there's some pretty janky code in the Scala stdlib, so I hesitate and/or investigate whenever adding a dependency on some new part of it)