Tool: An Efficient and Flexible Simulator for Byzantine Fault-Tolerant Protocols