[WIP] nogil decls in SGD and WeightVector code

Early PR: `nogil` declarations for SGD and related code. I want to see if I can use a threadpool-based joblib to avoid the overhead of forking and copying data around.