A Distributed Simplex Architecture for Multi-Agent Systems