Implement AirLoopHVACSupplyPlenum::addBranchForZone

Also update AirLoopHVAC::addBranchForZone to consider the existence of
plenums.  If there is one supply plenum and/or one return plenum and all
zones are between those plenums, then AirLoopHVAC::addBranchForZone will
add new zone to existing plenums.  If this criteria is not met
AirLoopHVAC::addBranchForZone will add a new branch to the main zone
splitter/mixer and add the new zone to that branch.

Factored out addBranchForZone into private function that is shared by
AirLoopHVAC::addBranchForZone and
AirLoopHVACSupplyPlenum::addBranchForZone.

Added unit tests to verify all of this new stuff.