Runnable version of LinearSGD

Use array for data instead of using data loading API. The training
example set are scattered across computeTasks. Each computeTask adjusts
the weight locally using thier data set. The reducer  calculate the
average of the weight for each feature and update them.