Event tree building / prep for activity pane tree view

WIP: Not everything here is integrated yet. The main victory is the build tree method, along with prep work. Still to do:
- Pipe event tree into ActivityNode update method
- Build out ActivityTree view
- Install ActivityTree view in event panel
Normally it's nice for a nested collection to "always be there" but in a wide, shallow tree (I thought) it didn't make sense to have empty Collection instances on all the leaves.  I'm pretty sure that's how you had it before, so I just retained that behavior.