BUG: fix instability of structured dtype hash
BUG: fix instability of structured dtype hash

The hash value of a structured dtype was dependent on iteration order
of the fields mapping, which could make (in rare conditions) two
equal dtypes hash to different values.  We now consider the fields
in deterministic order, according to the names property.

Closes #5715.

pbrod/numpy,dwillmer/numpy,jorisvandenbossche/numpy,mortada/numpy,Dapid/numpy,kirillzhuravlev/numpy,ChanderG/numpy,githubmlai/numpy,kirillzhuravlev/numpy,hainm/numpy,gmcastil/numpy,GaZ3ll3/numpy,Linkid/numpy,charris/numpy,dato-code/numpy,jakirkham/numpy,MSeifert04/numpy,jakirkham/numpy,ChristopherHogan/numpy,sinhrks/numpy,rajathkumarmp/numpy,endolith/numpy,BMJHayward/numpy,pyparallel/numpy,kiwifb/numpy,madphysicist/numpy,rajathkumarmp/numpy,cjermain/numpy,GaZ3ll3/numpy,ChristopherHogan/numpy,ahaldane/numpy,felipebetancur/numpy,ahaldane/numpy,jankoslavic/numpy,pyparallel/numpy,bringingheavendown/numpy,Anwesh43/numpy,groutr/numpy,KaelChen/numpy,pdebuyl/numpy,mathdd/numpy,mhvk/numpy,leifdenby/numpy,CMartelLML/numpy,SiccarPoint/numpy,dwillmer/numpy,ChanderG/numpy,madphysicist/numpy,grlee77/numpy,pyparallel/numpy,hainm/numpy,groutr/numpy,rherault-insa/numpy,sinhrks/numpy,mattip/numpy,pizzathief/numpy,skwbc/numpy,kiwifb/numpy,SiccarPoint/numpy,stuarteberg/numpy,ahaldane/numpy,Srisai85/numpy,shoyer/numpy,BabeNovelty/numpy,Srisai85/numpy,maniteja123/numpy,tynn/numpy,trankmichael/numpy,mingwpy/numpy,mingwpy/numpy,WarrenWeckesser/numpy,stuarteberg/numpy,bertrand-l/numpy,AustereCuriosity/numpy,Dapid/numpy,rhythmsosad/numpy,WillieMaddox/numpy,rgommers/numpy,cowlicks/numpy,stuarteberg/numpy,cowlicks/numpy,jakirkham/numpy,pdebuyl/numpy,MaPePeR/numpy,WillieMaddox/numpy,solarjoe/numpy,seberg/numpy,pdebuyl/numpy,dato-code/numpy,empeeu/numpy,dato-code/numpy,sinhrks/numpy,GaZ3ll3/numpy,ViralLeadership/numpy,rudimeier/numpy,skwbc/numpy,ddasilva/numpy,mingwpy/numpy,SunghanKim/numpy,chatcannon/numpy,BabeNovelty/numpy,Srisai85/numpy,has2k1/numpy,Eric89GXL/numpy,anntzer/numpy,b-carter/numpy,ESSS/numpy,MichaelAquilina/numpy,shoyer/numpy,tynn/numpy,ChristopherHogan/numpy,WarrenWeckesser/numpy,skwbc/numpy,madphysicist/numpy,sonnyhu/numpy,ssanderson/numpy,gmcastil/numpy,hainm/numpy,dwillmer/numpy,joferkington/numpy,endolith/numpy,jschueller/numpy,Anwesh43/numpy,AustereCuriosity/numpy,pbrod/numpy,numpy/numpy,musically-ut/numpy,CMartelLML/numpy,felipebetancur/numpy,njase/numpy,rgommers/numpy,GrimDerp/numpy,pizzathief/numpy,pbrod/numpy,ESSS/numpy,anntzer/numpy,nbeaver/numpy,cjermain/numpy,ChanderG/numpy,mhvk/numpy,jakirkham/numpy,drasmuss/numpy,WarrenWeckesser/numpy,rudimeier/numpy,joferkington/numpy,empeeu/numpy,bringingheavendown/numpy,tdsmith/numpy,rhythmsosad/numpy,gmcastil/numpy,jschueller/numpy,ahaldane/numpy,mwiebe/numpy,jankoslavic/numpy,BabeNovelty/numpy,rhythmsosad/numpy,felipebetancur/numpy,Yusa95/numpy,grlee77/numpy,mathdd/numpy,grlee77/numpy,maniteja123/numpy,jorisvandenbossche/numpy,gfyoung/numpy,njase/numpy,mortada/numpy,simongibbons/numpy,mathdd/numpy,hainm/numpy,Yusa95/numpy,moreati/numpy,ahaldane/numpy,ssanderson/numpy,solarjoe/numpy,SunghanKim/numpy,madphysicist/numpy,jschueller/numpy,ContinuumIO/numpy,sigma-random/numpy,moreati/numpy,felipebetancur/numpy,groutr/numpy,has2k1/numpy,pizzathief/numpy,grlee77/numpy,argriffing/numpy,mwiebe/numpy,MSeifert04/numpy,gfyoung/numpy,MaPePeR/numpy,simongibbons/numpy,shoyer/numpy,githubmlai/numpy,kirillzhuravlev/numpy,bertrand-l/numpy,MaPePeR/numpy,bringingheavendown/numpy,GrimDerp/numpy,mhvk/numpy,WillieMaddox/numpy,Eric89GXL/numpy,KaelChen/numpy,Yusa95/numpy,chatcannon/numpy,githubmlai/numpy,MichaelAquilina/numpy,has2k1/numpy,anntzer/numpy,endolith/numpy,anntzer/numpy,argriffing/numpy,gfyoung/numpy,jorisvandenbossche/numpy,jschueller/numpy,GrimDerp/numpy,dimasad/numpy,ddasilva/numpy,ekalosak/numpy,BMJHayward/numpy,mattip/numpy,skymanaditya1/numpy,nbeaver/numpy,leifdenby/numpy,drasmuss/numpy,mhvk/numpy,pizzathief/numpy,ChristopherHogan/numpy,MSeifert04/numpy,ddasilva/numpy,pbrod/numpy,AustereCuriosity/numpy,numpy/numpy,sonnyhu/numpy,stuarteberg/numpy,nguyentu1602/numpy,nguyentu1602/numpy,rajathkumarmp/numpy,skymanaditya1/numpy,jonathanunderwood/numpy,madphysicist/numpy,SiccarPoint/numpy,mingwpy/numpy,mwiebe/numpy,GrimDerp/numpy,MichaelAquilina/numpy,GaZ3ll3/numpy,dato-code/numpy,shoyer/numpy,musically-ut/numpy,bertrand-l/numpy,Srisai85/numpy,seberg/numpy,Linkid/numpy,jonathanunderwood/numpy,KaelChen/numpy,rherault-insa/numpy,chiffa/numpy,jakirkham/numpy,SiccarPoint/numpy,sonnyhu/numpy,rhythmsosad/numpy,ssanderson/numpy,rudimeier/numpy,sinhrks/numpy,mathdd/numpy,ekalosak/numpy,sigma-random/numpy,WarrenWeckesser/numpy,SunghanKim/numpy,dwillmer/numpy,trankmichael/numpy,bmorris3/numpy,mortada/numpy,BabeNovelty/numpy,grlee77/numpy,behzadnouri/numpy,empeeu/numpy,skymanaditya1/numpy,mortada/numpy,bmorris3/numpy,jorisvandenbossche/numpy,abalkin/numpy,trankmichael/numpy,mattip/numpy,KaelChen/numpy,argriffing/numpy,MSeifert04/numpy,ViralLeadership/numpy,Eric89GXL/numpy,cjermain/numpy,githubmlai/numpy,utke1/numpy,drasmuss/numpy,kiwifb/numpy,ESSS/numpy,tynn/numpy,chatcannon/numpy,rherault-insa/numpy,seberg/numpy,WarrenWeckesser/numpy,joferkington/numpy,maniteja123/numpy,jorisvandenbossche/numpy,Dapid/numpy,rudimeier/numpy,charris/numpy,moreati/numpy,nguyentu1602/numpy,Eric89GXL/numpy,mhvk/numpy,nbeaver/numpy,simongibbons/numpy,MichaelAquilina/numpy,nguyentu1602/numpy,tacaswell/numpy,pbrod/numpy,joferkington/numpy,bmorris3/numpy,SunghanKim/numpy,utke1/numpy,Linkid/numpy,skymanaditya1/numpy,jankoslavic/numpy,bmorris3/numpy,rgommers/numpy,chiffa/numpy,rajathkumarmp/numpy,BMJHayward/numpy,tdsmith/numpy,solarjoe/numpy,numpy/numpy,dimasad/numpy,musically-ut/numpy,njase/numpy,pdebuyl/numpy,shoyer/numpy,simongibbons/numpy,ContinuumIO/numpy,ekalosak/numpy,mattip/numpy,charris/numpy,sigma-random/numpy,endolith/numpy,utke1/numpy,ChanderG/numpy,tacaswell/numpy,cowlicks/numpy,behzadnouri/numpy,chiffa/numpy,Anwesh43/numpy,MaPePeR/numpy,Yusa95/numpy,seberg/numpy,tdsmith/numpy,Anwesh43/numpy,pizzathief/numpy,cowlicks/numpy,rgommers/numpy,dimasad/numpy,jonathanunderwood/numpy,sonnyhu/numpy,tacaswell/numpy,MSeifert04/numpy,kirillzhuravlev/numpy,cjermain/numpy,trankmichael/numpy,abalkin/numpy,CMartelLML/numpy,has2k1/numpy,ekalosak/numpy,b-carter/numpy,leifdenby/numpy,behzadnouri/numpy,empeeu/numpy,charris/numpy,ViralLeadership/numpy,tdsmith/numpy,ContinuumIO/numpy,Linkid/numpy,musically-ut/numpy,sigma-random/numpy,numpy/numpy,dimasad/numpy,abalkin/numpy,b-carter/numpy,simongibbons/numpy,BMJHayward/numpy,jankoslavic/numpy,CMartelLML/numpy