svm/OnlineLibLinear: Added learning of StreamingSparseFeatures

svm/OnlineLibLinear: Added learning of StreamingSparseFeatures
* Added method "train_one" for sparse vectors (a lot code duplication!  sorry!)
* "train_example" now consumes CStreamingDenseFeatures and CStreamingSparseFeatures
* Added bounds checking in CStreamingSparseFeatures<T>::dense_dot
  (allowing sparse dot-product with shorter weight vector)

Refactoring in StreamingSparseFeatures
* removed duplicate "expand_if_required" - already implemented in features
* avoided manual resizing of vectors using low-level stuff like realloc/memset/etc.