TST: `np.kron` tests refinement
TST: `np.kron` tests refinement

* Added `mat` cases to smoke tests
* Changed type checks to handle new change which uses ufuncs order for
  result determination
* Added cases for `ma` to check subclass info retention

pdebuyl/numpy,seberg/numpy,mhvk/numpy,numpy/numpy,endolith/numpy,jakirkham/numpy,mhvk/numpy,jakirkham/numpy,anntzer/numpy,pdebuyl/numpy,mhvk/numpy,anntzer/numpy,charris/numpy,mhvk/numpy,jakirkham/numpy,numpy/numpy,rgommers/numpy,numpy/numpy,mhvk/numpy,charris/numpy,endolith/numpy,jakirkham/numpy,endolith/numpy,anntzer/numpy,numpy/numpy,charris/numpy,seberg/numpy,rgommers/numpy,mattip/numpy,mattip/numpy,anntzer/numpy,jakirkham/numpy,charris/numpy,rgommers/numpy,seberg/numpy,pdebuyl/numpy,mattip/numpy,endolith/numpy,rgommers/numpy,seberg/numpy,pdebuyl/numpy,mattip/numpy