Logistic regression: Print message when grouping is not NULL

The message of "# groups succesfully passed, and # groups failed"
should be printed when grouping_str is not NULL. Previously, there
was a typo here and "not" was missing.
Logistic Regression: Grouping for text columns

Changes:
    - Added new check to ensure that all grouping values are "quoted" before
        cast to 'text' except for NULL/None
    - Cleaned up most of the python validation
    - Changed version to 0.7dev
Logistic Regression: Handle grouping in lower PG/GP versions

The previous commit handled grouping columns with type text by adding quotes to
grouping values, except for NULL values. Lower versions of PG and GP, however,
add quotes to all values using array_to_string skipping the NULL exception.
This commit handles that case by explicitly looking for 'null' in the group
values.
Logistic regression: Correct problems with install-check

- Corrected the accidental clobering of an if-statement
- Corrected missing assert statement in install-check
Python group controller: Strip double quotes in _string_to_array output
New module: Correlation

- Created a correlation module that computes the coefficient of correlation
between various numeric columns of a relation.
New module: Upgrade

Added new functionality to upgrade MADlib deployment on a database without
removing the previous installation. This is currently only supported for version
0.5 and greater. We don't yet support upgrade in Postgresql systems since
MADlib installs a Bool-to-Text cast in Greenplum and the upgrade tries to drop
the cast. This leads to a problem in Postgresql and should be handled as an
exception in future releases.
Correlation: Ensure duplicate target column names are handled

Other changes:
- Updated help message to reflect changes in output table format
- Updated output message before correlation is started
Release v0.7 tasks: Update version, add release notes and tags