Initial AirLoopHVACUnitarySystem object
Update AirLoopHVACUnitarySystem object
Change default terminal priority

Instead of setting terminal heating/cooling priority to 1 when added to
zone, assign as the last priority.  Default priorty is thus controlled
by the order equipment is added to zone.  The API still allows changing
priority after the fact.
Update containingHVACComponent(s) for new Unitary
Add unit tests and fixes due to unit tests

Adds unit tests for AirLoopHVACUnitarySystem along with various bug
fixes due to the unit tests.
Fix failing unit test

Fixes a failing unit test in AirLoopHVAC:UnitarySystem when removing a
unitary system with coils attached to a plant loop.
Add DX coil translateAndMapModelObject 'magic'

This change allows translateAndMapModelObject to use the correct
forward translator for DX coils depending on whether or not they are
part of a containing system, such as a unitary system.

This checks if the coil is on an AirLoopHVAC (and thus use
translateFoo) or if the coil is in a containing component (and thus use
translateFooWithoutUnitary).
Add ForwardTranslateAirLoopHVACUnitarySystem
Merge remote-tracking branch 'origin/EP81' into EP81_UnitarySystem
Fix build issues
Merge branch 'EP81' into EP81_UnitarySystem
Fix translate errors found during integration test

In forward translation for AirLoopHVACUnitarySystem there were two
errors. One dealt with fan placement within the unitary system and node
names.

I also updated SetpointManagerMixedAir updateFanInletOutletNodes()
implementation slightly while tracking down an issue. Now it only loops
through all supplyComponents once to find the different types of fan
types.
Add unitary system into OS App
Bugfixes and updates

This removes the ability of the user to set and use the ControlType.
ControlType can be either Load or SetPoint, if it is SetPoint you need
to define SetpointManagers for each node within the Unitary System
which a user can no do from the GUI. So we are commenting out this
functionality for now.

This also fixes a small bug in forward translation and changes the mini
icon to an actual mini icon.
Add UnitarySystem to hvac_library

This adds various unitary system configurations to hvac_library.osm and
also updates the OpenStudioPolicy slightly.

The added configurations are:
Unitary - DX Heat Pump - Cycling - Elec reheat
Unitary - DX Heat Pump (Two Speed cooling) - Cycling - Elec reheat
Unitary - Two Speed DX cooling - Gas heat - Cycling - Elec reheat
Unitary - Two Speed DX cooling - Elec heat - Cycling - Elec reheat
Unitary - Single Speed DX cooling - Elec heat - Cycling - Elec reheat
Unitary - Single Speed DX cooling - Gas heat - Cycling - Elec reheat
Unitary - CW cooling - HW heating - VAV - HW reheat
Unitary - CW cooling - HW heating - CAV - HW reheat
Unitary - WaterToAir Heat Pump - Cycling - Elec reheat
Unitary - Elec heat - Cycling
Unitary - Gas heat - Cycling
Unitary - Two Speed DX cooling - Cycling - Elec reheat
Unitary - Single Speed DX cooling - Cycling - Elec reheat
Change UnitarySystem to not use heat recovery

After reading E+ IO reference more closely, the heat recovery appears
to only work with multi speed DX coil. So until this coil is
implemented in OpenStudio, I am commenting out the heat recovery code.
By commenting out the code, it will make it quick to enable the heat
recovery option once the coil is added to OS.

Since the heat recovery is no longer possible, I have disallowed adding
the unitary system to a plant loop.
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.