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

tv42/old-go,gnanderson/go,bdwalton/debian-golang,tianon/debian-golang,gnanderson/go,tianon/debian-golang,bdwalton/debian-golang,pombredanne/go-deleteme,dsriram/golang,tv42/old-go,pombredanne/go-deleteme,h8liu/golang,apparentlymart/golang,gnanderson/go,nightlyone/golang,tianon/debian-golang,pombredanne/go-deleteme,tianon/debian-golang,h8liu/golang,ssrl/go,pombredanne/go-deleteme,h8liu/golang,ssrl/go,tianon/debian-golang,ssrl/go,apparentlymart/golang,tv42/old-go,nightlyone/golang,apparentlymart/golang,bdwalton/debian-golang,tv42/old-go,dsriram/golang,nightlyone/golang,ssrl/go,gnanderson/go,dsriram/golang,nightlyone/golang,tv42/old-go,bdwalton/debian-golang,apparentlymart/golang,nightlyone/golang,tianon/debian-golang,apparentlymart/golang,pombredanne/go-deleteme,tianon/debian-golang,gnanderson/go,apparentlymart/golang,bdwalton/debian-golang,dsriram/golang,dsriram/golang,dsriram/golang,dsriram/golang,bdwalton/debian-golang,h8liu/golang,gnanderson/go,tv42/old-go,tv42/old-go,gnanderson/go,tianon/debian-golang,pombredanne/go-deleteme,ssrl/go,h8liu/golang,ssrl/go,apparentlymart/golang,pombredanne/go-deleteme,ssrl/go,bdwalton/debian-golang,nightlyone/golang,h8liu/golang,nightlyone/golang,bdwalton/debian-golang,h8liu/golang