[SPARK-4562] [MLlib] speed up dense vector

This PR change the underline array of DenseVector to numpy.ndarray to avoid the conversion, because most of the users will using numpy.array.

It also improve the serialization of DenseVector.

Before this change:

trial	| trainingTime | 	testTime
-------|--------|-------- 
0	| 5.126 | 	1.786	
1	|2.698	|1.693	

After the change:

trial	| trainingTime |	testTime	
-------|--------|--------
0	|4.692	|0.554	
1	|2.307	|0.525