added vectorized function evaluations ... can parallelize evaluations easily now except in Python (wtf!)
removed numpy dependency in cross-validation