Simplified GenomeFunction design by removing genome prototype and adding progress listener onto the GenomeReader instead. Finished Query abstract classes. Now implementing a GenomeReader that uses multiple threads to process queries in parallel.