Split pythonic into several headers

The main goal of this work was to decrease compilation time, which is a
success, clang can now run the full test suite more than 4 times faster
that it used to.

The new layout is briefly explained in doc/DEVGUIDE.rst.

Additionally, some issues were fixed as part of the new pythonic
validation process:

- Fix issue in indexed_array constructor (bad type forwarding leading to deep copy)
- Remove g++4.8 workaround (including only the relevant header decreases
  its memory consumption, so that the workaround is no longer mandatory)
- Fix nditerator dangling reference issue
- Test some functions that were never tested
- Prune functions that were never implemented
- Update Pythonic doc
- Slightly normalize indentation

Overall, I am very happy with that commit. My only regret is that the
commit history is lost, so let's thanks a lot Pierrick for his work on
numpy (and his contributions to that commit too!), Alan for itertools,
Adrien for str and xmar for his work on operators. Kudos to Mehdi for
his eagle-eye proofreading too!