Add numpy-based gene-mutating function

Might want to do some rethinking of the data structure for storing mutation sites, but this should work fine -- I tested it up to 500 replicates, which took about 10 minutes with 3 lines.