K-means: Fix dist_angle metric to return values when norm is 0

Jira: Madlib-768

When distance metric 'madlib.dist_angle' is used, which is defined as
the angle between two vectors, Inf is obtained when either of the two
norms is 0. The angle is not defined mathematically. Just let the
metric return \pi under such circumstances to avoid error. This should
not affect the quality of the result.
Naive Bayes: Skip NULL values (not rows) from training

Jira: MADLIB-614, 749

NULL values in attribute values cannot be directly used for training
the model. Currently rows with NULL values are completely ignored.
This becomes a problem in datasets that have many rows with at least
one NULL value. We can currently ignore just the specific attribute
which is NULL instead of ignoring the whole row. This should be
changed to better NULL handling, similar to the feature in R.
Cross Validation: Create a cross validation module

JIRA: PIVOTAL-40975391

Created a new module for applying cross validation on regression
methods. The current interface is setup to work with linear and
logistic regression, as well as ridge, lasso, and elastic net
regression techniques that are upcoming. All other modules can be
supported by adding wrapper functions to work with the cross
validation interface
General Cross-validation: update for GPDB40, 41 and PG84

Solved some compatibility issues
Module Name: General Cross-validation

Fixed a typo