RFC: A _working_ fix to Kronecker product

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.

Tests were added covering all these cases.

Previous pull request #2643 had bug in the implementation of Matrix/Vector Kronecker product, which should have been caught by the tests added if I had run them properly.