ENH: Attempt to rewrite the index parsing.

This code works mostly but segfaults in the tests at some point, so
there is probably some heisen or refcount bug somewhere).

MapIter is untouched, but its setup is much simplified. Unfortunatly
another close to 200 lines of code can't be removed because the old
iterators need it as well. Optimization for 1-d fancy indexed array
is not yet called (needs to be pointed at iterators.c.

Most indexing is a bit faster, but the single integer and also the
full integer index is a bit slower unfortunatly.
BUG: Do not rely on index_num to be initialized on failure
MAINT: Fix compiler warnings
MAINT: Use array_subscript for scalars for simplicity

Unfortunatly this means that boolean indexing works too...
LOADS: A lot of changes, fixes... don't know myself right now.