Iterator

Implementation of an iterator that goes thru a Component and all its sub-components in a tree (pre-order) traversal. A test case that demonstrates the usage is also included, along with wrapping to make these iterators accessible from scripting..
There is a mix of naming conventions for data members here: `m_node` vs. `_root`. I think it should be consistent in new code, even if older code is inconsistent. Personally I prefer the `m_` convention (or no special naming at all), but I think OpenSim has been using the lone `_` convention for a long time. Is there an OpenSim coding standard for member names, and if not should there be one?