new features and upgrade support to Ensembl release 71, fixed #30

[FIXED] Ensembl dropped the flanking_seq database from release 70 on. They
    use a flag variable that indicates whether the dbSNP flanking sequence
    matches the reference genome. We now return the flanking reference sequence
    when this flag indicates it is correct to do so, otherwise None is returned.
[FIXED] tests were updated to reflect changes to stable IDs, the ID of the
    canonical transcript for BRCA2; changes in the effect description of genetic
    variants ('non_synonymous_coding' is now 'missense_variant').
[NEW] New arguments added to Genome.getVariation().
    somatic=True will include somatic mutations in the returned result
    (default is False).
    flanks_match_ref=True will only return SNPs whose flanks match the reference
    genome.
    limit=#, specifies how many results to return.
[NEW] New attributes added to Variation. Somatic, a boolean indicating whether
    this is a somatic mutant. Ancestral, the ancestral allele as reported by
    dbSNP.