PathSpring stretch output declared in constructProperties(), but should be declared in constructOutputs().
Basic prototype of a tree iterator.
Preliminary work on filtering out a specific Component subclass.

I get a segfault right now when trying to filter out only Foo's. Not sure what
the cause is. The tree and iterator are now more intimately tied to
Component's.
Use namestr() instead of name() for Output's.
Another, simpler iterator that works by traversing the tree in PreOrder fashion as a linked list.
Fix compilation errors on gcc and clang due to last commit.
Use postfix increment operator for iterator in test
Fixes to bugs I introduced when removing anchorBody and anchorTransform from RigidFrames.  Also, bug fixes in making comparisons in testFrames.  Specifically:

1. correct transposition when calculating a FixedFrame's transform.
2. removed vestigial references to getAnchorBody() and other "Anchor" based methods.
3. converted uses of c++ built in assert to our ASSERT when making comparisons in testFrames.  unlike assert, ASSERT will do comparisons in both release and debug builds.
New branch to obtain internal consistency with all components call Super::connectToModel(), Super::addToSystem, etc... so that any component can serve as a proper example.
Change signature of connect to fix traversal using iterator and remove earlier TreeIterator per discussion with Chris.
Made all Components adhere to Super::connectToModel. Ligament, PathSpring and ControllerSet were  exceptions to the rule and now they are compliant.

The rule for Super::finalizeFromProperties() is that it should be called last and this was also enforced.
Eliminated overrides with just Super::<do>.
Add in filtering so that iteration can be on a specific type of Components. Modified testComponentInterface to show a use case.
Joints and Model are currently the only exceptions to the rule that Super::addToSystem() must be called first in all addToSystem implementations.

The model must set up the controls cached before Actuators can establish their indices within the Model cache. For Joints, the mobilized body of the Joint must be added (e.g. defined) before the Coordinates can determine their coordinate related indices.

For all other Components, calling Super::addToSystem() first works. We can continue insist that the API is broken (@sherm1) or we can document the reasons for these exception, which seem reasonable to me.
Merge branch 'master' into iterator
update and merge from master
Fix bug found during testing and add iteratorExample to demonstrate usage. Need one more pass for documentation/cleanup.
Fix compilation error due to typo in CMakeLists.txt, also print out some summary info in example.
Clean up printBasicInfo().
Fix build problems on unix