Add filter for pileups and genotypes

This PR contains many of the filters that I have been playing with to improve precision and recall on the test sets.  I organized them in two sets, filters for pileup elements and filters for called genotypes.  

Pileup Filters:
- remove low alignment quality elements
- mapping complexity - as a heuristic for region complexity we can check if a significant number of reads are poorly aligned
- any ambiguous mappings (mapping quality = 0)
- multiple alternate alleles

Genotype filters
- read depth
- alternate allele depth
- strand bias

Some of the genotype filters could be "executed" earlier in the process (i.e. min read depth could skip pileups with < elements completely) but I think more often we will call a larger set of genotypes and apply filters after.

In the Args I set parameters that gave reasonable performance for this, but they need more exploration.