Draft of a patch that makes a whole lot of conversions to use an appropriate Iterator.
Drops Vector extends Iterator and instead provides two methods:
Iterators are now implemented by DenseVect and SparseVect instead of AbstractVector to try and take advantage of class specific data structures.
Also updates the DistanceMeasures where appropriate.
All tests passed in core.
The profiling view looks a lot healthier too, as the primary bottlenecks are now in code that actually does the work, versus the data structures and accessors.