Add newick format

Ready for review

I still need to add `read` and `write` as well as deprecate `to_newick` and `from_newick`

@wasade I am particularly interested in any comments you might have.

fixes #627 
Can you add a comment describing these data structures and how they are used in the tests? e.g., that the in-memory tree should serialize to the first newick string in the list, and why some trees have multiple newick strings (rotations)