Fixing a bug of SeqIO.PdbIO in parsing pdb-atom

Fixing a problem that SeqIO.PdbIO outputs erroneous amino acid sequence
if the ATOM record has more than one missing segments.
Phylo: reimplement BranchColo.to_hex() to use string format codes, not math

Thanks to joelb123 who reported the potential for weird results:
https://github.com/biopython/biopython/issues/214