cleanup input argument types for BLAS.nrm2 and BLAS.asum

The problem for `BLAS.nrm2` is allowing `StridedVectors` in the main
method.  This is demonstraded with the following code:

```julia
using Base.BLAS
a = ones(6)
a[2:2:6] = 0
b = sub(a,2:2:6)
n1 = BLAS.nrm2(b)
n2 = BLAS.nrm2(3,b,1)
println("b: $b")
println("BLAS.nrm2(b):     $n1")
println("BLAS.nrm2(3,b,1): $n2")
```

Output:

```
b: [0.0,0.0,0.0]
BLAS.nrm2(b):     0.0
BLAS.nrm2(3,b,1): 1.0
```

Fix:

* Main `BLAS.nrm2` (and `BLAS.asum`) methods now accept `Ptr` and
  `DenseArray`

* Method specialized for a `StridedVector` passes a `Ptr` to the main
  method.

* Fix is the same for both `BLAS.nrm2` and `BLAS.asum`