Shifted-update rotation: simple integration of the many-level Schrödinger equation to long times