Fix sgsparsevector sparse dot

Now, finally, fixed the bug:
* removed strange (useless) check about vector length
* checking if vectors are sorted - if so, using linear-time `sparse_dot()`
* if vectors are not sorted, fall back to quadratic algorithm and issue warning