SPADES: A System for Parallel-Agent, Discrete-Event Simulation