Change Newick tree parsing to handle numeric names

Numeric taxa names in Newick trees are parsed as branch confidence.
For instance a newick file
```
(((0:0.1,1:0.1)0.99:0.1,2:0.1)0.98:0.0);
```
would be parsed as a tree with three, unnamed terminal nodes with confidence values of 0, 1, and 2.

I believe this is a bug, since branches to terminal nodes shouldn't have confidence values.
I've edited `Bio/Phylo/NewickIO.py` so that it behaves as I would expect, and written a unit test.