A Heteroclinic model of geodynamo reversals and excursions