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.
require fixed byte data
Merge pull request #1382 from karlnapf/develop

always line and file for errors and warnings
Merge pull request #1383 from karlnapf/develop

lower unit test accuracy in GP log-ml sampler
Switch kernel_linear_byte_modular.py example to use CSVFile reader
travis: add octave modular job to allowed to failed
convert byte example to CSVFile
move lib/versionstring.h include over to .cpp files to avoid full recompile
when version changes (git pull...)
Merge pull request #1380 from tklein23/sparse_fixes

Fixes and refactoring of sparseFeatures/sparseMatrix/sparseVector
Add CTestConfig and add Release, Debug and Distribution CFLAGS
set CMAKE_BUILD_TYPE to Release by default
* replaced ASSERT by REQUIRE in several places
* removed redundant assertions on get_num_vectors(): get_sparse_feature_vector(num) already checks it
* replaced SGVector<T> dense() by dense to fix compiler errors.
Remove -Wshadow flag see issue #1385
Merge pull request #1384 from tklein23/sparse_fixes

replaced ASSERT by REQUIRE; fixed SGVector<T> dense() compiler error