Added intro, single-source tools and "What's in Which Python" sections.

These were the separate commits that conflicted each other in earlier PRs. I've combined them into one PR (on an updated master) so there should be no conflicts.
One possible way to go here would be to mention modernise+six, as well as future, but don't go into too much detail about the differences, except to say:
* if you need Python 2.5 compatibility, you have to use six
* if you don't want a new runtime dependency, futurize --stage1 (part of future) applies all the modernisation changes that are an inherent part of Python 2.6+, but none of the changes that would need the future module at runtime