The call Vec.toEnum makes a new enum vector now.

The call makes a new adaptation vector which provides
a transformation between old vector values and new enum values.
The new vector is identity vector if old vector is already enum.

In all cases the caller is responsible for deletion of a new vector.

Conflicts:
	src/main/java/water/util/Utils.java
Updated GBM to do one last round of scoring in the end (it's 1 round behind) and fixed confusion matrix not to fail on non-enum columns (takes domains from the newly generated enum transfvecs).

Conflicts:
	src/main/java/water/api/ConfusionMatrix.java