[SPARK-4611][MLlib] Implement the efficient vector norm

The vector norm in breeze is implemented by `activeIterator` which is known to be very slow. 
In this PR, an efficient vector norm is implemented, and with this API, `Normalizer` and 
`k-means` have big performance improvement.

Here is the benchmark against mnist8m dataset.

a) `Normalizer`
Before
DenseVector: 68.25secs
SparseVector: 17.01secs

With this PR
DenseVector: 12.71secs
SparseVector: 2.73secs

b) `k-means`
Before
DenseVector: 83.46secs
SparseVector: 61.60secs

With this PR
DenseVector: 70.04secs
SparseVector: 59.05secs

I think we should move this method to `Vectors` because it is a static method, like the following:

~~~
object Vectors {
  private def norm(values: Array[Double], p: Double): Double = {
    ...
  }

  private[mllib] def norm(v: Vector, p: Double): Double = {
    norm(v.values, p)
  }
}
~~~