PathSpring stretch output declared in constructProperties(), but should be declared in constructOutputs().
Fix to model scaling that was not resulting in the subject (target) mass being respected (matched) when preserve mass properties was unchecked. Turns out that the logic was OK and the bug was caused by updating the body mass properties but not recreating the system and state, so when the total mass was being queried, it was still the old mass that was in the system. Using the scaled model directly via scripting would also lead to a mismatched state-system with the model.

The remedy was to initSystem on the model after any changes in the model. There were a few places.
I don't understand the logic of the scale main creating the system and passing in a state to the Tool. This is antithetical to the idea of Tools just being the staging area to load the model(s) settings and doing the hookup to the necessary Solvers and Modelers.  The ModelScaler would make a good example of a Modeler if it didn't take a state and then expect that state to be valid after changing the model.

I took the liberty of removing the state as an input argument to the main processing methods ModelScaler and ModelPlacer. I have a suspicion that this will break functionality that GUI was expecting, but unfortunately it was wrong anyway. We will have to rethink why the GUI was passing in a state. Especially one that was not const!
Merge branch 'master' into FixToModelMassScaling
Remove state argument from processModel() method calls in Java and Python/OpenSimContext.cpp
Update typos in comments and remove commented out lines.
Also untabify files.
Merge pull request #230 from opensim-org/FixToModelMassScaling

Addresses model mass scaling issue, which fixes #223
Addressing API inconsistency of when to call Super::finalizeFromProperties. Now it is ALWAYS called first. This was achieved by decoupling the base Component's implementation which provided the "services" of 1) wiping out connections and other internal data structures that are dependent on properties and then calling the finalizeFromProperties() on its (sub)components. finalizeFromProperties() was made public and non-virtual and a private base method added to do its addition of resources. A protected virtual extendFinalizeFromProperties() is now what derived Components must implement (not finalizeFromProperties) to extend/specialize new Component types. Super::extendFinalizeFromProperties() is to legitimately give its Super a chance to finalize first without the side-effect of calling subcomponents. Component separately invokes finalizeFromProperties on each of its (sub)components after the Component. Component's finalizeFromProperties() also marks the Component(Object)'s _objectIsUpToDate flag as true.
Add RigidBody::getMobilizedBody() convenience.
Addressing API inconsistency of when to call Super::connect(). Enable consistency by having only the extendConnect() as virtual.
[cmake] Clarify when CMAKE_BUILD_TYPE is set to a default value.
Addressing API inconsistency of when to call Super::connectToModel on derived ModelComponents. Now Super::extendConnectToModel() is ALWAYS called first. This was achieved by decoupling the base Component's connect() which provided the "services" of 1) wiping clearing existing connections. connectToModel() was made public and non-virtual and is called by extendConnect() of ModelComponent which is now marked final. A protected virtual extendConnectToModel() is now what derived ModelComponents must implement (not connect() or connecToModel()) to extend/specialize new ModelComponent types. Super::extendConnectToModel() is to legitimately give its Super a chance to finalize first without the side-effect of calling subcomponents. Component separately invokes connect() on each of its (sub)components after the Component. Component's connect() also marks the Component(Object)'s _objectIsUpToDate flag as true to reflect changes to connectors during the connection process.
Enforced Super::extendConnectToModel() is always called first.
Untabified files as I was checking.
Made Component::disconnect() non-virtual. There is an extendDisconnect() method that remains commented out and it would be the virtual extension method. So far, no component is needing to extend disconnect(), but there may be specialized cleanup by future Components upon disconnect() so it may be enabled later.
Make use of new Body::getMobilizedBody method.
Address @sherm1's comments on line splitting
Merge pull request #232 from opensim-org/mobilizedbodyconvenience

Add RigidBody::getMobilizedBody() convenience.
Addressing API inconsistency of when to call Super::initStateFromProperties. Now it is ALWAYS called first. This was achieved by decoupling the base Component's implementation which invokes initStateFromProperties() on its (sub)components. initStateFromProperties() was made public and non-virtual. A protected virtual extendInitStateFromProperties() is now what derived Components must implement (not initStateFromProperties) to extend for new Component types. Super::extendInitStateFromProperties() is to legitimately give its Super a chance to finalize first without the side-effect of calling subcomponents. Component separately invokes initStateFromProperties on each of its (sub)components after the Component.
Addressing API inconsistency of when to call Super::setPropertiesFromState. Now it is ALWAYS called first. This was achieved by decoupling the base Component's implementation which invokes setPropertiesFromState() on its (sub)components. setPropertiesFromState() was made public and non-virtual. A protected virtual extendSetPropertiesFromState() is now what derived Components must implement (not setPropertiesFromState) to extend for new Component types. Super::extendSetPropertiesFromState() is to legitimately give its Super a chance to do its thing first without the side-effect of calling subcomponents. Component separately invokes extendSetPropertiesFromState on each of its (sub)components after the Component.
Verify that Super::extendSetPropertiesFromState is always called first.
Also untabified related files.
Merge branch 'master' into ComponentExtensionInterface

Conflicts:
	OpenSim/Examples/Plugins/CoupledBushingForceExample/CoupledBushingForce.cpp
	OpenSim/Simulation/Model/BushingForce.cpp
	OpenSim/Simulation/Model/ExpressionBasedBushingForce.cpp
	OpenSim/Simulation/Model/ExpressionBasedPointToPointForce.cpp
	OpenSim/Simulation/Model/Force.cpp
	OpenSim/Simulation/Model/FunctionBasedBushingForce.cpp
	OpenSim/Simulation/Model/GeometryPath.cpp
	OpenSim/Simulation/SimbodyEngine/BallJoint.cpp
	OpenSim/Simulation/SimbodyEngine/ConstantDistanceConstraint.cpp
	OpenSim/Simulation/SimbodyEngine/CustomJoint.cpp
	OpenSim/Simulation/SimbodyEngine/EllipsoidJoint.cpp
	OpenSim/Simulation/SimbodyEngine/FreeJoint.cpp
	OpenSim/Simulation/SimbodyEngine/GimbalJoint.cpp
	OpenSim/Simulation/SimbodyEngine/RollingOnSurfaceConstraint.cpp
Resolved latest merge conflicts.