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 
Might be good to describe how the lengths are parsed, i.e., using python's `float`. For example, this means that `'1e-3'` is supported by the reader. Would be good to state that all lengths are internally stored as native Python `float` types.