Modeling Low Salinity Waterflooding: Ion Exchange, Geochemistry and Wettability Alteration