AD2: Add Bypass Tracking Feature; Rearrange Change Zone Function

Add a separate function for checking the bypassed state of a zone.
Change status_zone function.  It will only report a zone as bypassed if the zone is hardwired.  All other zone types we can continue to track even when bypassed.
Cleanup ChangeZoneState, it now only affects a single zone, the complicated looping for setting multiple zones is moved into the respective places in the code.