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