diagonal-matrix now returns matrix of current implementation

Currently, there is a bug:
```Clojure
user=> (set-current-implementation :ndarray)
:ndarray
user=> (diagonal-matrix [1 1 1])
[[1 0.0 0.0] [0.0 1 0.0] [0.0 0.0 1]]
```

PR fix:
```Clojure
user=> (set-current-implementation :ndarray)
:ndarray
user=>  (diagonal-matrix [1 1 1])
#<NDArray [[1 0 0] [0 1 0] [0 0 1]]>
```