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
```
The `not(tr/td[contains(@class, 'hiddenRow')])` condition might be used in the other trees, it seems to filter that dummy tree node in the beginning out.