Xval

This revives #235. Now that all the other elements are in place, I think that this is ready for review and in principle ready to be merged upstream (once it's been reviewed and fixed up, of course!). I am excited about this PR - evaluation of DWI models is something that I have been thinking a lot about in the past couple of years, since I started working on DWI. 

This PR also demonstrates the power and elegance of the uniform `Model`/`Fit` API we have in place. GGT!

For now, this PR only implements cross-validation for CSD and for the tensor model, but future work could extend this to other models, by implementing their `predict` methods. 

Also : a lot of PEP8 fixes in the CSD module and elsewhere :-) 
Well - different people do different things. Here, we take a 10 voxel cubed ROI in the center of the brain and select only voxels with high FA (>0.7) for the response function. It's actually quite similar to what the original authors of the algorithm recommend, which is to select brain voxels with high FA and average them. Besides, this is still a very active topic of research, that will not be fleshed out in this example.