Added Newick format code.

Also changed the node name separator to ';' in the neighbor function,
since it's probably less likely to be a part of a sequence name.
Newick format actually works now.

Previous version only worked for a few lists, since treeLoop was flawed.

The biggest change is that when both adjacent nodes are branches,
instead of just removing the nodes connected to the current branch from
the list that is passed along, a new list is generated from the complete
list of all edges, only containing the branch we are jumping to.
Minor tweak.

Because I've got OCD sometimes.
Added tests for Newick format.