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

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.