DIVERT: A Distributed Vehicular Traffic Re-routing System for Congestion Avoidance