Blast NCBIXML.py: new feature: coverage calculation

I would like to provide a new feature for the NCBIXML parser. The resulting object now has two additional properties (`.alignment.qcovs` and `.hsp.qcovhsp`) which are calculated directly from the data extracted from a XML file as they are not included in this format. I think it makes sense to provide this additional information as it makes sophisticated filtering easier. The code is based on the [NCBI Blast C++ Source code](http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/lxr/source/src/) and I tested it by emulating blast's tabular output and which I then compared to the output of a blast_formatter run.