error handling had a bug in execute: the error channel was being shared. fix that and clean up state handling a little.
error handling had a bug in execute: the error channel was being shared.
fix that and clean up state handling a little.

R=rsc
DELTA=44  (18 added, 8 deleted, 18 changed)
OCL=28359
CL=28359
abustany/go,abustany/go,abustany/go,abustany/go,abustany/go,abustany/go,abustany/go