count-overlap.py:
1.Combine two functions into one, with an optional "curve-reporting" argument
2.Remove unnecessary empty lines.
3.Report expected (counting) false positive rate ( according to the estimated number of
unique k-mers and size of hash tables)
4.Replace enumerate(fasta_iter) with enumerate(screed.open) to support other
types of files.
5.Modify the top of the count-overlap.py script to include "#!" and remove
other unnecessary revision information.
6.Use K instead of args.ksize as well as other variables.
7.Use %s,%d instead of +str(...).
8.Put a space between ':' and the numbers following e.g. 'unique kmers: NNNNN'

test_scripts.py:
1.Make two independent tests with/without "curve-reporting"
temp add overlap
v1.0
works generally.
1.python interface: scripts/count-overlap_cpp.py
2.test scripts added to test_scripts.py
3.algorithms:
   1) generate ht file for 1st dataset seperately.
   2) read ht file to object ht2
   3) pass object ht2 as argument to c++ method
   4) _khmermodule.cc:
       add hashbits_count_overlap() method based on hashbits_consume_fasta()
   5) hashbits.hh:
       add count_overlap() method based on count() method
       add check_overlap() method to be called in count_overlap()
   6) hashbits.cc:
       3 new methods: check_and_process_read_overlap()  consume_fasta_overlap()  consume_string_overlap() based on ..(without _overlap suffix) in hashtable.cc
       can accept ht2 as argument, call count_overlap() method instead of count() method.
Merge branch 'refactor' into refactor_qp
minor cleanup of QP count_overlap code
before 2nd edition
Merge branch 'count_overlap' of https://github.com/ctb/khmer into refactor
test code modified
0. fix a bug which gets inaccurate overlap k-mer number when using small hash table
1.testing:
  1.1 generate hash table file dynamically
  1.2 use smaller hash table
  1.3 use temp directory for output file
  1.4 remove testing code for previous count-overlap.py script
2.count-overlap.py
  2.1 replace previous count-overlap.py script using python implementation with current one with c++ implementation
  2.2 add function to generate file to plot overlap k-mer increasing figure.
  2.3 plot the figure to show how the number of overlap k-mers increases as number of consumed unique k-mers increases.
3.c++ files:
  3.1 modify consume_fasta_overlap()
      pass list curve[2][100]
      generate 100 pairs of data
  3.2 _khmermodule.cc
      hashbits_count_overlap()
      pass curve[200] back to python interface

to consider:
1. consume two original sequence files directly rather than loading first dataset as ht file?
   If only load the first ataset from ht file, no occupied_bin or unique_kmer for the first dataset is availalle.
    1.1 add the function to count occupied bin or unique kmers in load() function? lower effiency? not necessary?
    1.2 or I can create a specific load_for_overlap function for this purpose?
2. lower effiency to generate the "curve" file, set a switch as argument?
3. generate the "curve" file after finishing the counting. If it is a long computing, risky?
modify test_scripts.py, remove other code
callback
remove line
minor
for merge
remove curve figure
remove curve figure