Most collectors now take a place-setter/place so that collecting into
object slots is easier.

!! BREAKING CHANGE - All optional arguments are keyword now.  I think
   that optional keywords should probably not be in public interfaces
   (because you cant just keep adding them, so when you need more you
   eventually have to switch to keywords.  If we start with keywords,
   then there is less breakage and more room to grow. The more you
   know I guess
when using place, default initial-value to place as well
use funcallable-instances to make this have better reuse and
extensibility

Along the way string-formater and string-builder got faster,
and better support incremental results

re ADWolf:#1201 (1.5)