Genome is no longer based on std::vector

This change is made primarily for speed; Genome now has methods that
largely emulate the functionality of std::vector, but it is much faster
(a 35% speedup for one standard test case)