TReacLab: An object-oriented implementation of non-intrusive splitting methods to couple independent transport and geochemical software. (December 2017)