add adagrad, clean up existing updaters a bit
add barebones tests for updaters

I need to be more consistent about the signs of gradients and deltas...