3.0 tree iterator

This add a the new `listNested` method to `Collection` which is meant to get a flat list of a tree structure. This also adds a `TreePrinter` iterator which is meat to replace the old `TreeBehavior::generateTreeList` 

It is used as follows:

```php
$list = $categories->find('threaded')->listNested()->printer('name');
```

It will return the same output as in 2.x