MAINT: adept divisions for truedivide

Following deprecations would cause problems otherwise.
API: Deprecating the use of non-integers for indices arguments

This changes the conversion utils to give deprecations for a all
non-integers (this currently includes python bools). The biggest
change is PyArray_PyIntAsIntp in which the deprecation is done.
Some other conversions are then also pointed to it.

Uses the Index machinery even for numpy types, which is faster
then the current code.
API: Deprecate __index__ for ndim > 0

For example NumPy indexing treats np.ones(()) very differently from
np.ones((1,)). It seems a bad idea to allow __index__ for arrays that
are not 0-d, as they cannot always be safely interpreted as integers.
MAINT: Remove non-integer deprecations which are now in PyIntAsIntp

Also removed old (commented) macro, the use of PyNumber_Index is
now actually implemented in PyIntAsIntp and not necessary here.

Removes PyIndex_Check compatibility macros, since we do not support
python < 2.5 anymore.

Change integer conversion error to IndexError, previously these
fell through and eventually became an IndexError.
TST: Rework test_deprecations.py and add new tests.
STY: style and small doc fixes for integer deprecations
MAINT: Create new function PyArray_IntpFromIndexSequence

This function uses npy_intp to in principle support larger then
int sequence lengths.