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 `dot_prod_expensive_unsorted()` and issue warning

Follow up on #2134, fixing issue #2133.