Add versions of the collection functions for trees and lists of trees.

I started working on a library for tree transformations (inspired by Stratego/XT), and thought that some of these functions might be generally useful. It's far from complete, but I thought it would be good to get some early feedback.

I wasn't sure about the best way to name these, so I put them in a separate 'walk' namespace for now. Maybe it would be better to have collectTopDown, collectBottomUp, etc.

Any & all feedback is welcome!