inspect.currentframe() return a frame object on its own, not as a part
of a record.
Additionally the artificial _Frame type is unnecessary as
types.FrameType exists.
This patch consists of:
* Splitting and reordering the content into sections corresponding
to the module's documentation sections
* Implementing some missing functions
* Adding TODOs for missing stuff (I may've missed something)
The signature of isgenerator() (was: Any argument, is: argument of type
object) is changed for consistency with other is* functions I added
here, after some considerations I couldn't decide whether it should be
object or Any - if object is not advised please let me know.