Library: Bugfix for PmonoArtic inside other patterns w/cleanup

A tricky issue to explain. If a PmonoArtic note's sustain is less than
its delta, then the next note should re-articulate. This happens in
PmonoArticStream by calling prInitNode. This call was in the wrong
place, *before* checking if another note would be generated. This
would add the node cleanup function again, but then not play any more
notes. If a parent-level pattern has its own cleanup (say, Pchain or
Pfset), it would track the last (spurious) cleanup function. So, when
it ends, it would call the cleanup function again and try to remove a
node that was already released: "node not found" error from the server.

The fix is to move the prInitNode call to follow the attempt to
populate the new event (rather than precede it). In other words, don't
do prInitNode if any of the PmonoArtic streams stopped.
Library: Fix Pfset passing child cleanups up to its parent(s)