Update various ZoneHVAC components

This updates the implementation of thermalZone() and addToThermalZone()
for non-air-based ZoneHVACComponents.

The old implementation of thermalZone() kept looping through equipment
and thermalZones even after finding the correct thermalZone. Now it
returns after finding the correct thermalZone.

The old implementation of addToThermalZone() found the ThermalZone but
didn’t use it and proceeds to loop through all ThermalZones and
Equipment again. The new version grabs the ThermalZone and removes the
equipment.

@kbenne Check against the integrate tests.