Exposed Fast C counter to python

The counter was written in C. 
It was compiled to a shared library 'counterc.so'
The shared library was exposed to python using ctypes.
The C function returns a C struct which is eventually made into a Python dictionary.
main.py has been refactored to use the new counter.
bench.py is provided to test the counter's speed.

The makefile has not been tested with linux, would appreciate some testing there.  
C-algorithms is required in --prefix="$HOME"

Here is some sample output.
```bash
gzip -cd complete.1.genomic.gbff.gz | python main.py -f genbank
[
  {
    "annotations": "{'comment': '\\nContig AARG01000015 was replaced by the complete pFN3 plasmid in\\nCP000710.', 'sequence_version': 1, 'source': 'Fusobacterium nucleatum subsp. polymorphum ATCC 10953', 'taxonomy': ['Bacteria', 'Fusobacteria', 'Fusobacteriales', 'Fusobacteriaceae', 'Fusobacterium'], 'keywords': ['WGS', 'RefSeq'], 'references': [Reference(title='Direct Submission', ...)], 'accessions': ['NZ_AARG01000001', 'NZ_AARG00000000'], 'data_file_division': 'BCT', 'date': '17-FEB-2009', 'organism': 'Fusobacterium nucleatum subsp. polymorphum ATCC 10953', 'gi': '110592360'}", 
    "codoncount": {
      "AAA": 361, 
      "AAC": 52, 
      "AAG": 183, 
      "AAT": 258, 
      "ACA": 58, 
      "ACC": 13, 
      "ACG": 6, 
      "ACT": 67, 
      "AGA": 99, 
      "AGC": 35, 
      "AGG": 44, 
      "AGT": 84, 
      "ATA": 241, 
      "ATC": 39, 
      "ATG": 114, 
      "ATT": 204, 
      "CAA": 91, 
      "CAC": 15, 
      "CAG": 50, 
      "CAT": 43, 
      "CCA": 18, 
      "CCC": 5, 
      "CCG": 0, 
      "CCT": 20, 
      "CGA": 7, 
      "CGC": 1, 
      "CGG": 0, 
      "CGT": 3, 
...
```

```bash
cat cow.seq | python bench.py 
{'CTT': 578526, 'TAG': 385361, 'ACA': 570762, 'ACG': 59782, 'ATC': 382642, 'AAC': 422809, 'ATA': 646304, 'AGG': 458186, 'CCT': 455130, 'ACT': 463769, 'AGC': 365433, 'AAG': 577313, 'AGA': 627866, 'CAT': 531415, 'AAT': 770510, 'ATT': 773553, 'CTG': 521121, 'CTA': 383136, 'CTC': 432919, 'CAC': 387600, 'AAA': 1160703, 'CCG': 58156, 'AGT': 463957, 'CCA': 478747, 'CAA': 546849, 'CCC': 310692, 'TAT': 647698, 'GGT': 306196, 'TGT': 574118, 'CGA': 52125, 'CAG': 520075, 'TCT': 628490, 'GAT': 382211, 'CGG': 57943, 'TTT': 1169127, 'TGC': 381261, 'GGG': 310647, 'TGA': 556172, 'GGA': 403467, 'TGG': 479804, 'GGC': 285218, 'TAC': 338345, 'TTC': 572415, 'TCG': 52363, 'TTA': 653679, 'TTG': 551344, 'TCC': 402091, 'ACC': 306416, 'TAA': 650744, 'GCA': 380165, 'GTA': 339118, 'GCC': 284110, 'GTC': 251551, 'GCG': 50561, 'GTG': 389988, 'GAG': 434060, 'GTT': 426786, 'GCT': 365314, 'GAC': 249625, 'CGT': 59720, 'GAA': 571097, 'TCA': 557273, 'ATG': 531010, 'CGC': 50561}
Tokenize and Count in 594 ms
```
I threw out the theory that since the file had included a sequence length but no actual sequence data as far as we could tell, it was just giving a string of Ns, as those are characters used to represent an unknown within a sequence.