Bug fixes, improvements to dimensionality reduction classes

Some misc bug fixes in ArffFileReader and improvements in DataSet and Vector (to make them easier to work with).

Improvements to PCA and InsignificantComponentAnalysis to allow us to specify a max variance to keep, which will determine how many components based on what the eigenvalues say about the data.