KEMOD: A mixed chemical kinetic and equilibrium model of aqueous and solid phase geochemical reactions