Summary: Fix problems with out-of-memory for many columns

JIRA: Pivotal-170, 171

Pivotal-170: When running 'summary' on a large number of columns,
the quartile computation ends of consuming high amount of memory. This
has been resolved by splitting the actual columns into reasonable set
of columns, and returning the final output by colating results for each
set.

Pivotal-171: Wrong results are produced when the target_columns set
contains more than one column and all values in a column are NULL.
This is caused by the odd behaviors of "select
string_to_array(unnest(x_array), 'delim')": when x_array contains NULL
values, it will produce different results from "select
string_to_array(value, 'delim') from unnest(x_array) as value".
This has been resolved by moving the unnest call to a subquery.
Linear Algebra: Add new module for sparse/dense matrix multiplication

Sparse matrices are represented as <row, col, val> column triplets in
a table. Dense matrices are either of the form <row, ARRAY[]> or
<row, col1, col2, col3 ...>. This module enables the multiplication of
matrices where the left and right matrix can be of any of the sparse or
dense forms.
Added robust estimator for linear and logistic regressions and

Cox and right-sensoring
Merged to integration
Conflicts:
	src/modules/regress/LinearRegression_impl.hpp
	src/modules/regress/LinearRegression_proto.hpp
	src/modules/regress/linear.cpp
	src/modules/regress/logistic.cpp
	src/ports/postgres/modules/regress/linear.sql_in
	src/ports/postgres/modules/regress/logistic.sql_in
	src/ports/postgres/modules/regress/robust.sql_in
	src/ports/postgres/modules/regress/test/robust.sql_in
Set the category 0 as the reference category to be consistent with R.nnet

Make the signs of coefficients to be consistent with R.nnet

Remove numcategories parameter and add ref_category parameter

Update unit tests

Add prefix __ to internal functions and add STRICT to public functions

Add more parameter checking
Regress: Separation of the robust variance function call

The robust variance function call was split into two different
functions.  One for linear regression, and one for logistic regression.
In addition, their are several bug fixes for grouping support in the
linear and logistic regression.
Elastic Net: Minor corrections in documentation

PivotalTracker: 52239115

Updates to documentation:
    - Corrected the placement of '*' in independent instead of dependent
    - Reformated various lists of parameters
expanded the robust variance test to be future compatible
expanded the robust variance test to be future compatible
Regress: Removed star support from robust linear and logistic variance

The star support for robust linear and logistic regression is gone.
Merge branch 'integration' into HuberWhiteLogisticGroup
Regress: Add robust variance for multinomial logistic regression
Add documentation to robust multinomial
Regress: Add marginal effects for logistic regression.

Pivotal tracker: 51919919

Computes marginal effects for logistic regression using the average
of marginal effects at each sample observation. Supporting stats
include standard errors (calcualted by the delta method), t-stats
and p-values calculated in the same manner as the Linear regression
module.
Regress: Added clustered standard errors for linear regression

Pivotal 51117917

Computes the clustered standard errors for linear regression.
Regress: Design document for Marginal Effects

PivotalTracker: 40469833, 51117917, 51919919

Design document for marginal effects in regression.

Includes the following:
- Computation for marginal effects for logisitic and multilogistic regression
- Computation for standard errors for marginal effects of logistic regression
- Bug fixes for a bunch of errors that prevented proper compilation
of the design doc.
- Moved Clustered Sandwich Estimators within Regression since it is
currently used in the context of regression methods.
Utilities: Correct return behaviour for array_to_string

Previously we didn't have a return value for array_to_string in the
utilities leading to issues in GPDB 4.1. Further, marginal effects
also didn't take care of the special handing required for arrays
passed in GPDB 4.1 from SQL to Python. These issues have been rectified
in this commit.
Regress: Added a section into the design doc descibing robust variance

An overview of the sandwich operator and its applications for linear,
logistic, and multilogistic regression have been added into the design
doc.
Regress: Fix persisting GPDB4.1 issue with Margins

Commit 4970c23 did not completely fix the problem with GPDB4.1 for
marginal effects. This commit finishes that task.
Regress: Bug fix for logistic regression, many small changes for robust
variance.

The commit brings the robust variance code in line with the code review.
In addition, the logistic regression will now throw an error if the
output table name parameter is a name for an already existing table.