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..
Using lower case `iterator` as a type name is OK here because it is an STL convention. But novel type names should use OpenSim's CamelCase standard.

Also, I'm unclear about whether this is a writable iterator, and if so whether we also need a `const_iterator`.