When trying to traverse into a yet unloaded branch, start to load it.

This happens when we get a selection for a still collapsed branch from the
server.
Stop traversing into an unloaded branch when we hit the end.

If we continue with an invalid model index as parent we are basically
restarting the traversal from the top, leading to a completely bogus
result.
If we don't know better, return default flags.

This fixes selection into branches that are populated but don't have their
content (and thus flags) loaded yet. The QItemSelection code will reject
any model index where the flags do not contain enabled and selectable.
Scroll the object tree view to the current selection.

This is useful for in-app object picking.