This is follow-up to a similar commit improving Python 2.7 inspect stub[1].
Similarly, this commit consists of:
* Splitting and reordering the content into sections corresponding
to the module's documentation sections
* Implementing missing functions, classes etc.
* Adding TODOs for things that are either difficult to get or I can't
figure them out right now
* Making the existing code consistent with the newly added things
As suggested in pull request #108 I'm modifying the generic Python 3
stub even though some things changed and were added in various Python
3.x releases - the changes seem to be backwards compatible and the
additions, well, they should not break much except for some false
positives on older Python 3 versions.
Some of the types in this stub were not obvious so I either read the
source code or used my judgment.
[1] 630f718376