Added a new port for HAWQ (cmake+madpack changes)

Pivotal Tracker: 61089100

Additional author: Shengwen Yang <syang@gopivotal.com>

- Added module by module install/reinstall
- Changed SELECT ARRAY() in conjugate_gradient
- Added a HAWQ-specified Modules.yml
- Added incremental install for HAWQ (algorithm by algorithm)
- Verified success install-check -t array_ops,conjugate_gradient,svd_mf
Add more algorithms in HAWQ port

Pivotal Tracker: 61089490, 61317418, 61317550

Other author: Feng, Xixuan (Aaron) <xfeng@gopivotal.com>

Changes:
    - Add linear regression, multinomial logistc regression
    - Add matrix_op, svd, and lda
    - Enable PREFUNC and AO compressed table in supported algorithm
    - Fix madpack install
added HAWQ 1.2 port
crossprod function needed by PivotalR

Pivotal Tracker: 59788078

PivotalR's crossprod can run without this, but this enhancement uses C++
function to compute cross product, which is much faster and thus
improves the performance of PivotalR.
Add In-Memory IterationController/GroupIterationController for HAWQ

Pivotal Tracker: 61303658

Other author: Qian, Hai <hqian@gopivotal.com>

Changes:
    - Add in-memory group iteration controller for logistic regression
    - Add in-memory iteration controller for multinomial logistic regression
    - Add in-memory iteration controller for kmeans
    - Enable DISTRIBUTED BY in LDA and AR
Enable sandwich estimators and marginal effects in HAWQ

Pivotal Tracker: 62182482

Other changes:
    - Also enable DISTRIBUTED BY in svd_mf
    - Fix a HAWQ port bug
Fixed a typo and a bug

* Typo in the install-check of robust

* Bug in logistic, which affects GPDB and Postgres
Enable ARIMA and PCA in HAWQ and Fix Modules.yml

Pivotal Tracker: #62279874, #62263748

Additional author: Qian, Hai <hqian@gopivotal.com>

Changes:
    - Enable ARIMA
    - Enable PCA (depending on convex/utils_regularization)
    - Skip convex/lmf
    - Fix install destination of HAWQ-specified Modules.yml
Change a warning to an error for empty input table

Pivotal Tracker: #61317550
Removed HAWQ UDT m4 statements

Pivotal Tracker: #62280892
Enable Association Rules in HAWQ
Logregr: Move predict function from Elastic Net to Logregr

Pivotal Tracker: 61525438

Changes:
    - Removed logregr_predict from the elastic_net python layer
    - Added two new function in logistic.sql:
        - logregr_predict, to predict the dependent variable boolean value
        - logregr_predict_prob, to predict the probability of dependent variable
        being True
    - Added new documentation and examples for the prediction functions
Utilities: Fix get_col_and_types to work for unqualified tables
Enable in-memory iteration controller for LMF in HAWQ

Pivotal Tracker: 62679514
Enable in-memory iteration controller for Elastic Net in HAWQ

Pivotal Tracker: 62182182
Enable linear systems in HAWQ

Pivotal Tracker: 62182444
K-Means bug fixes and HAWQ specifics

Pivotal Tracker: #61317504, #60219224, #53414031, #46931241, #42938027

Changes:
    - Improve argument validation for MADLIB-789, MADLIB-704 (#60219224, #46931241, #42938027)
    - Change input table filtering for HAWQ (#61317504)
    - Fix MADLIB-784 (#53414031)
Enable Summary and Correlation in HAWQ

Additional author: Shengwen Yang <syang@gopivotal.com>

Pivotal Tracker: #62182126, #55443546

Changes:
    - Enable sketch, summary and correlation in HAWQ (#62182126)
    - Fix MADLIB-798 (#55443546)
    - Fix argument validation in summary (#55443546)
    - Move madlib.__to_char() to utilities (#62182126)
    - Disable cox and sketch/cm (#62182126)
    - Remove HAWQ 1.1 port
    - Fix HAWQ re-install
Elastic Net Bug Fix For Output Index String

Additional Author: Shengwen Yang <syang@gopivotal.com>

Pivotal Tracker: #62182182

Changes:
    - Fix outstr_array for independent variables display
    - Fix some argument validation
Added function properties as a version feature

Pivotal Tracker 61524886

All the functions in MADlib have been tagged with the correct "SQL DATA ACCESS"
properties so that Orca can understand the nature of the functions and plan
them accordingly (e.g. place "READS SQL DATA" functions in a context where
they are guaranteed to be able to run sql statements).

Four kinds of tags: "NO SQL", "CONTAINS SQL", "READS SQL DATA" and
"MODIFIES SQL DATA".