MAINT: Fix ABCPolyBase in various ways
MAINT: Fix ABCPolyBase in various ways

This previously:
* Did not indicate the arguments in the abstract methods
* Did not actually use the `abc` mechanism at all on python 3 (`__metaclass__` does not work any more)
* Used the now-deprecated `@abstractproperty`

This didn't cause any runtime problems, but does confuse LGTM, and was using the `abc` module incorrectly.

This uses python3-only features of the abc module, so can't be backported.

MSeifert04/numpy,mhvk/numpy,pdebuyl/numpy,simongibbons/numpy,numpy/numpy,WarrenWeckesser/numpy,MSeifert04/numpy,ahaldane/numpy,pizzathief/numpy,simongibbons/numpy,MSeifert04/numpy,shoyer/numpy,abalkin/numpy,pbrod/numpy,pizzathief/numpy,endolith/numpy,grlee77/numpy,MSeifert04/numpy,pizzathief/numpy,jorisvandenbossche/numpy,charris/numpy,jorisvandenbossche/numpy,rgommers/numpy,pdebuyl/numpy,endolith/numpy,numpy/numpy,pdebuyl/numpy,shoyer/numpy,ahaldane/numpy,madphysicist/numpy,jakirkham/numpy,MSeifert04/numpy,grlee77/numpy,jorisvandenbossche/numpy,WarrenWeckesser/numpy,madphysicist/numpy,jakirkham/numpy,simongibbons/numpy,ahaldane/numpy,jakirkham/numpy,grlee77/numpy,mhvk/numpy,mhvk/numpy,anntzer/numpy,pbrod/numpy,mattip/numpy,rgommers/numpy,charris/numpy,pbrod/numpy,pizzathief/numpy,shoyer/numpy,pdebuyl/numpy,anntzer/numpy,numpy/numpy,ahaldane/numpy,charris/numpy,endolith/numpy,pizzathief/numpy,mhvk/numpy,WarrenWeckesser/numpy,seberg/numpy,anntzer/numpy,charris/numpy,endolith/numpy,shoyer/numpy,rgommers/numpy,shoyer/numpy,seberg/numpy,anntzer/numpy,mattip/numpy,grlee77/numpy,ahaldane/numpy,mhvk/numpy,jakirkham/numpy,mattip/numpy,seberg/numpy,abalkin/numpy,simongibbons/numpy,madphysicist/numpy,jakirkham/numpy,pbrod/numpy,pbrod/numpy,simongibbons/numpy,seberg/numpy,grlee77/numpy,jorisvandenbossche/numpy,rgommers/numpy,jorisvandenbossche/numpy,WarrenWeckesser/numpy,abalkin/numpy,madphysicist/numpy,mattip/numpy,madphysicist/numpy,WarrenWeckesser/numpy,numpy/numpy