MAINT: Refactor dtype conversion functions to be more similar
MAINT: Refactor dtype conversion functions to be more similar

Before there were three signatures:

* `PyArray_Descr*(...)`
* `PyArray_Descr*(..., int* err_flag)`
* `int(..., PyArray_Descr** ret)`

This unifies them all into `PyArray_Descr*(...)`, and introduces a special singeton to distinguish "error" from "gave up" cases.

Also changes function names for consistency.

abalkin/numpy,jakirkham/numpy,endolith/numpy,mattip/numpy,anntzer/numpy,mattip/numpy,pdebuyl/numpy,numpy/numpy,grlee77/numpy,mhvk/numpy,anntzer/numpy,numpy/numpy,jakirkham/numpy,mattip/numpy,grlee77/numpy,mhvk/numpy,WarrenWeckesser/numpy,simongibbons/numpy,endolith/numpy,jakirkham/numpy,WarrenWeckesser/numpy,pbrod/numpy,grlee77/numpy,pdebuyl/numpy,numpy/numpy,madphysicist/numpy,endolith/numpy,grlee77/numpy,charris/numpy,jakirkham/numpy,endolith/numpy,seberg/numpy,rgommers/numpy,simongibbons/numpy,mhvk/numpy,pdebuyl/numpy,charris/numpy,WarrenWeckesser/numpy,grlee77/numpy,anntzer/numpy,madphysicist/numpy,rgommers/numpy,mhvk/numpy,pdebuyl/numpy,seberg/numpy,charris/numpy,pbrod/numpy,simongibbons/numpy,simongibbons/numpy,pbrod/numpy,jakirkham/numpy,mhvk/numpy,WarrenWeckesser/numpy,numpy/numpy,mattip/numpy,pbrod/numpy,simongibbons/numpy,abalkin/numpy,rgommers/numpy,charris/numpy,pbrod/numpy,anntzer/numpy,seberg/numpy,abalkin/numpy,madphysicist/numpy,seberg/numpy,WarrenWeckesser/numpy,rgommers/numpy,madphysicist/numpy,madphysicist/numpy