Fixes the radius of spa Buffers

Warning: this may cause existing spa models to break, or have to be tweaked.  Before this gets merged into master, everyone using spa should see how it affects their models.

Without this patch, the effective radius (i.e. the length of vector able to be stored) of a spa.Buffer and a spa.Memory is actually around sqrt(dimensions/subdimensions).  Since subdimensions defaults to 16, if you have a buffer with dimensions=64 it'll actually store vectors with a radius of 2.  

The problem here is that a) that's kinda weird, and b) changing the dimensionality really shouldn't force you to rescale a bunch of action weights.  I'm pretty sure this new way is more consistent and should mean for less tweaking of scaling factors in the action rules, but I'm also pretty sure that this is going to require existing models to be re-tweaked.