With regards to whether you should hack this up yourself or wait, it
really depends on how urgently you need it. It will definitely be in
the next significant release (1.2), although I cannot say exactly how
long that will be. At a guess I would expect 6-8 weeks. As you
mention, I do intend to use something along the lines of a strategy
pattern which will make the different (concurrent, distributed,
sequential etc) evaluation approaches pluggable. Exactly what you're
after really!
(1) The updateBestProgram method is a hangover from a (terrible) older
approach to fitness evaluation, and I'll be happy to see it disappear
with the new evaluation implementation. Your hack sounds like that
could work. You'll find that generally the classes in the core package
aren't designed to be extended, although it is good to see that you're
finding ways to hack on these features that haven't got built-in
support yet.
(2) That's correct.
(3) Definitely. The getFitness method in the model is obviously the
weak point, so yes you need to ensure concurrent access.