Stone duality for first order logic