Make control panel more robust for imperfect Device/DeviceZone/Zone setup

Control panel code assumed `Device/DeviceZone/Zone` that isn't true in the slightly corrupted IDOC data.  Making cleaner functional assumptions fixed the issues.

Fast-tracking this so I can send to Jesse.