ENH: Reimplementing the indexing machinery

Current status: Everything works. Some reorganizing is likely necessary, but pending input on that.

  * Check the release notes changes for a detailed list of compatibility changes.
  * Tested against scipy and pandas
  * The code has a few `TODO`s, but they should not require much action.
  * New 0-d boolean index support can't be tested/used until deprecation is done...
  * Check http://sebastian.sipsolutions.net/indexing_speedup/ for some speedup examples. Indices that require casting or are not trivial looping are unfortunatly slower for small and sometimes medium sized arrays.
  * The memory layout changes give close to 20% speed increase for a simple loop test (disabling fast path). Of course these would normally take the fast path. So the real world speed loss is much more if that fast path cannot be taken anymore, but on the other hand it is probably less for most other cases.