Mechanistic model of retention in protein ion-exchange chromatography