Gather/scatter

Rewrote ```scatter``` and ```gather``` using ```meta_kernel```