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..
@aseth1 Is this an interaction between of the changes you made on master and this PR? As far as I can tell the iteration works fine and the test case passes, if you changed something that made a block of code unnecessary please let me know, and I can adjust. All we rely on is that addComponent has been called on to add values to _components array.