Changes to variable handling for classification/regression/clustering

Mostly a request for comment at this point.

This branch changes the default label name from Subjet to Label (since label is a more general term). Also, uses different default variable names for classification (label), regression (regressor/regressand), and clustering (ClusterID), and finally updates some (far from all) transforms to accept arguments specifying their input/output variables.

Generally the idea is to move towards referring to the inputs/outputs of these problems by property name, rather than assuming a single default name.