Added optional parameter to scale the data before shrinkage

As discussed in #3508,  I implemented an option to scale the data before shrinkage estimation.
this will have edge effects as X will be modified outside of the function.