[WIP] extracting learning rates to learning_rates.pxd and learning_rates.pyx

This pull request is for #3647
Thanks for the tips! I'll add some more logic to make sure everything checks out. I originally thought that putting the array init in the constructor wasn't going to be possible, but now that I think about it, I can just put the instantiation in the beginning of the ```fit``` method and that should do it. Stand by for code...