Improve AirLoopHVAC::zoneMixer / zoneSplitter

If there are components between demand inlet or demand outlet nodes and
zone mixer or splitter, the
implementation of zoneMixer and zoneSplitter would not work.  Normally
there are not components in these locations, but it might happen in some
rare or future configurations.  In this case it was actually a bug where
cooling coils were allowed on the demand side that exposed this problem
with zoneSplitter / Mixer methods.  The method should be robust enough
to handle this configuration even if it is rarely if ever encountered.
For one the model has been (incorrectly) allowing coils on the demand
side, but then this issue with the splitter and mixer methods caused a
crashed when trying to remove the coils, making the minor bug a major
bug.

[#68356360]
Update StraightComponent::addToNode

StraightComponent::addToNode has gradually become more capable, allowing
these types of components to be added in more locations.  For example
StraightCompononent can now add coponents to the demand side of
AirLoopHVAC.  This is good for the generic base class implementation,
The problem is that the derived components have not beenproperly keeping
pace to dissallow addToNode in appropriate context.  So for instance
CoilHeatingDXSingleSpeed unintentionally gained the ability to show up
on the AirLoopHVAC demand side.

This work corrects on error with StraightCompononent::addToNode, when
the demand side is empty.  Basically fully committing to the generic
power of StraightCompononent::addToNode.  Additionally derived components
were updated to restrict addToNode as required, before blindly calling
base class's generic algorithm.

[#68356360]
Update minor fixes, formatting, and unit tests

The bulk of this is adding addToNode unit test as well as general unit
testing clean up to all affected objects.

CoilCoolingLowTempRadiantConstFlow was missed the first time through.
Add missing unit test

For some reason, CoilHeatingDXSingleSpeed unit test got
excluded/deleted in my last commit. This adds it back to the repo.
Relax rules to allow coils on OA system.

New rules were too restrictive for these components, not allowing them
on oa stream.

[#68356360]
Update various addToNode, add more unit tests

RefrigerationCondenserWaterCooled didn’t have addToNode implementation
and caused failed tests once the unit tests were added.

Overall, many more unit tests of addToNode and updating of unit tests
in general.

Added check on some components to see if allowed on OA system.
Add missing unit test

I don’t know why my git client keeps deleting files…
Fix bug, update unit tests, clean up code

If a component is on a loop then it cannot be added to any other loop,
even the same loop. This fixes that bug. OS was allowing a component to
be added to two different loops at the same time.

Some tests still fail on clone. This needs to be fixed in a subsequent
commit.
Fix clone bug in some components

The bug in clone…
If a component on a loop is cloned then added to a loop, addToNode
would fail and return false. This shouldn’t happen since this is a
freshly cloned object.

The issue stemmed from reimplemented clone methods in some objects
derived from StraightComponent using ModelObject::clone instead of
StraightComponent::clone. The main different between these two clones
is that StraightComponent resets the inletPort and outletPort on clone.
This was not happening with ModelObject::clone, hence the addToNode
issue with the cloned object.

This also updates all the unit tests to now test for this case.
Merge branch 'develop' into 68356360-addToNode

Conflicts:
	openstudiocore/src/model/FanConstantVolume.cpp
	openstudiocore/src/model/FanVariableVolume.cpp
	openstudiocore/src/model/test/FanVariableVolume_GTest.cpp
Fix merge conflicts and add unit tests
Merge branch 'develop' into 68356360-addToNode

Conflicts:
	openstudiocore/java/CMakeLists.txt
Fix unit test, compiler warning, and extra include
Remove unreachable code

This code, sepcific to PlantLoop was never encountered, because it was
handled by the preceeding more generic code suitable for either plant or
air loops.

[68356360]
Merge pull request #1009 from NREL/68356360-addToNode

[#68356360] add to node