WIP: cleanup blas.jl scal!

This pull request addresses the issue discussed in #8415.

1. `scal!` is no longer a method for `StridedArray`s

2. helper methods are added for `StridedVector`s

3. an issue with `scal!` when scaling a complex array with a real number is uncovered
   the technique to save flops assumes `incx == 1`
   a check for this is added, however this may not be a desirable solution

4. another solution to issue 3 above is to use 2 calls to the appropriate blas function.  The method could then be extended to `StridedVector`s