[MLLIB] [PYTHON] SPARK-4221: Expose nonnegative ALS in the python API

SPARK-1553 added alternating nonnegative least squares to MLLib, however it's not possible to access it via the python API.  This pull request resolves that.

Is there any guarantee that it will always be `0.4473...`? Did we fix the seed? Same question applies to all tests below.