is_tree update in Graph

It makes a small change in the way #505 was implementing the `is_tree()` method. Now a new `has_cycles()` method is defined for all `PointGraph` classes and basically: 
```is_tree = not self.has_cycles() and self.n_edges == self.n_vertices - 1```