Changed
- Fix in `DerivationTree.to_string` method; now, not displaying (closed) nonterminal
leaves
- Don't use deep copy in `DerivationTree.replace_path`, but create new datrie object.
This is obviously more efficient. However, there should be a more (time & memory)
efficient way of replacing a leaf in a tree than copying the whole datrie...
- More efficient `DerivationTree.__eq__` and `DerivationTree.is_leaf` methods
- `DerivationTree.paths` can return mappings from datrie keys to nodes if requested