MAINT: Fixed the signature of `dtype.__mul__`
MAINT: Fixed the signature of `dtype.__mul__`

* Multiplication by 0 does not return `None`
* Multiplication of a flexible dtype returns a flexible dtype; not just void
* In principle any object implementing the `__index__` protocol is a valid multiplication value; not just integers.

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