Tree can read itself

I will use this in some tests around reports. The tree representation is in ui_navigate style.

Usage eg.:
```python
>>> accordion.tree("Policies").read_contents()
[('All Policies',
  [('Compliance Policies',
    ['Host Compliance Policies', 'Vm Compliance Policies']),
   ('Control Policies',
    ['Host Control Policies',
     ('Vm Control Policies',
      [('test', [('VM Power Off', ['Convert to Template'])])])])])] #I hate these
```
you then don't have to do sel.text(sel.element(...)) ... and it possibly can show the locator in the stacktrace, instead of WebElement, because it is passed as a parameter then.