Bounds checking for dense_dot on sparse vectors (if vec is smaller than largest feature_index).
Removed code duplication in CSparseFeatures<ST>::dense_dot: forwarding call to SGSparseVector<ST>::dense_dot
Moved sort_features() from SGSparseMatrix to SGSparseVector.  Fixed ASSERT to allow duplicate feature ids.
SGSparseVector::sort_features() compresses duplicate features; wrote basic unit tests for sort_features().
Moved get_feature(index) from SGSparseFeatures to SGSparseVector.  Added unit-tests to fix behaviour on duplicate entries.
Moved get_dense() from SGSparseFeatures to SGSparseVector.  Added unit-tests to fix behaviour.
Added get_num_dimension() and parameter-less get_dense() to SGSparseVector.  Added unit tests.
Fixed formatting issues.
Merge pull request #1380 from tklein23/sparse_fixes

Fixes and refactoring of sparseFeatures/sparseMatrix/sparseVector