Finish shift implementation for ideals.
Finish shift implementation for ideals.

R=rsc
APPROVED=rsc
DELTA=65  (29 added, 17 deleted, 19 changed)
OCL=31775
CL=31777

tav/go,tav/go,tav/go,tav/go,tav/go,tav/go,tav/go