added type declarations for Genome base class & AGene/Genome based templates
removed obsolete casts from AIndexSelection & VectorAdapter
code documentation
only create a single VectorAdapter wrapper instance in ACrossover::multi_crossover() method