A difference ring theory for symbolic summation. (January 2016)