[SPARK-1672][MLLIB] Separate user and product partitioning in ALS 

Some clean up work following #593.

1. Allow to set different number user blocks and number product blocks in `ALS`.
2. Update `MovieLensALS` to reflect the change.