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.
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>.
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.
Fixed an API inconsistency of when to call Super::addToSystem. Now it is ALWAYS called first. This was achieved by decoupling the base Component's implementation which provided the "services" of 1) adding base resources (e.g. SimTK::Measure) and then calling the addToSystem on its (sub)components. addToSystem was made public and non-virtual and a private base method added to do its addition of resources. A protected virtual doAddToSystem() is now what derived Components must implement (not addToSystem) to extend/specialize new Component types. Super::doAddToSystem() is to legitimately give its Super a chance to add its resources first without the side-effect of calling subcomponents. Component separately invokes addToSystem on each of its (sub)components after the Component.
Merge branch 'master' into ComponentInteraceCompliance

Conflicts:
	OpenSim/Simulation/Model/Actuator.cpp
Renamed virtual method to "doAddToSystem" to "extendAddToSystem" to make it more clear that these methods are intended for extension.
Merge pull request #228 from opensim-org/ComponentExtensionInterface

Component extension interface
Merge branch 'master' into FixToModelMassScaling