Logistic Regression for dense matrices with supporting functions

Provided is an implementation of Logistic Regression for dense matrices using PBblas.

Files created:

PBblas/HadamardProduct.ecl - Cell wise multiplication using PBblas

PBblas/AutoMap.ecl - Function to determine map sizes for matrices. Not always optimal and is determined by rows/cols in matrix, max row/col for each partition, and CLUSTERSIZE. Partition sizes can also provided for fine tuning/better performance.

PBblas/Tests/MapTest.ecl - Can be used to predetermine map sizes for matrix. Results can be used as defaults for PBblas/AutoMap.ecl or PBblas/MatrixMap.ecl

PBblas/MU.ecl - Matrix universe for Layout_Part matrices. Same concepts as Mat/MU.ecl

Necessary updated files:
Classify.ecl - Added LR model name logistic. Renamed Original Logistic to Logistic_sparse.

PBblas.Types.ecl - Added PBblas/MU.ecl type

ML/Utils.ecl - Added Rebasing for IDs. Added support for Rebasing ID from Numbers. This is important when moving back and forth between Mat types and PBblas types.

PB.dgemm - More detailed error messages so it is easier to tell which matrices/blocks are not compatible.
You are relying upon Vector2Diag silently accepting the first column of a matrix as an input vector.  THe more correct approach would have been to define a Matrix_Map for the mRidgeVec that was a proper column vector.