FeatureVector: Add FeatIndex, LabelIndex types; use them
FeatureVector: SparseFeatureVectorLike -> SparseFeatureVector
Temporary commit: FeatureVector/Classifier/MLogit: Rewrite to avoid creating non-sparse matrix in memory (use views), remove non-choice-specific features directly on aggregate feature vectors, create TrainingData object to wrap labeled instances + removed (non-choice-specific) features, create FeatureLabelMapper to wrap FeatureMapper and LabelMapper and include in all feature vectors