helper class + extension hook

will probably move implementation in Person of messages() to PersonLike
random mixing
add a filter to random

basically does a random redraw for cases where it doesn't make sense to
filter the whole Iterable - e.g., one item forbidden
test app tweaks
new plotting code