SPARK-2272 [MLlib] Feature scaling which standardizes the range of independent variables or features of data

Feature scaling is a method used to standardize the range of independent variables or features of data. In data processing, it is generally performed during the data preprocessing step.

In this work, a trait called `VectorTransformer` is defined for generic transformation on a vector. It contains one method to be implemented, `transform` which applies transformation on a vector.

There are two implementations of `VectorTransformer` now, and they all can be easily extended with PMML transformation support.

1) `StandardScaler` - Standardizes features by removing the mean and scaling to unit variance using column summary statistics on the samples in the training set.

2) `Normalizer` - Normalizes samples individually to unit L^n norm
I updated the way we send weights to executors in https://github.com/apache/spark/pull/1427 to avoid having very big serialized tasks. But later in https://github.com/apache/spark/pull/1498 , all RDD objects are sent via broadcasting instead of akka. So it should be no longer necessary to explicitly broadcast weights. Just want to leave a note so we are all aware of these changes.