RFC: Fix to Kronecker product of column vectors, as well as Kronecker prod of matrices and vectors

Fix to Issue #2637, and also added support for product of Matrix and Vector

In essence, the Vector Vector Kronecker product was written as an array comprehension, but array comprehensions return 2D arrays, so I added an explicit vectorization after the list comprehension and reordered the comprehension indices to get the proper result.

Then I rewrote Matrix Vector Kronecker product as an iteration of Vector Vector Kronecker products, and Matrix Matrix Kronecker product as an iteration of Matrix Vector Kronecker products.

Tests were added covering all these cases.