wipe cpuworker reply correctly, handle unknown tasks

refs #198
fixes for CPUWorker invalid write errors

Includes some channel clean up but the problem is in scallion cpuworker

-channel cleaned up a bit and actually return the number of bytes copied
-re-write cpuworker state machine to do things a bit more methodically,
including correctly casting various pointers and using statically
allocated buffers to transfer to and from the kernel

this fix got rid of numerous valgrind invalid writes

fixes #198