Consensus: extracted repeated code into _BitString.from_bool, _clade_to_bitstr,
_tree_to_bitstrs

Also tightened some code, edited docstrings, removed some trailing whitespace.

majority_consensus is still nondeterministic in that the resulting tree is
sometimes rooted differently. Unclear why this happens.
majority_consensus: ensure stable ordering so output tree is always the same.

This fixes an intermittent unittest failure caused by nondeterministic dict
iteration on Python 3. (On Python 2.X, dict iteration order is arbitrary but
stable, so the resulting consensus tree was always the same.)
Iterate through copy of dictionary when deleting None values
Add test for elink, esearch, and webenv
Thank Edward Liaw for Python 3 Bio.Entrez fix
Changed a typo in comment
Update Scanner.py
AlignIO chapter didn't talk about relaxed PHYLIP support
Talk about strict vs relaxed PHYLIP; Fixed extra bracket
Adding _AurgumentList for passing in multiple filenames for the samtools wrapper

Explaination for trailing spaces in _ArgumentList documentation
Class docstring; fix typo; use comment not multiline string
Formatting changes
Adding wrapper for the samtools command line tool

Squashed commit of pull request #180
Thank Saket for the samtools wrapper
Install samtools under TravisCI (to test wrapper)
Windows case insensitive; Actually use the detected samtools binary
Windows case insensitive; Actually use the detected bwa binary
Removed print statements; Use assertEqual
Comment out unimplemented test functions

(Gave false impression of better coverage than actually have)
Install BWA under TravisCI to test the wrapper