objfun: Add local header.

This follows pattern already used for objtuple, etc.: objfun.h's content
is not public - each and every piece of code should not have access to it.
It's not private either - with out architecture and implementation language
(C) it doesn't make sense to keep implementation of each object strictly
private and maintain cumbersome accessors. It's "local" - intended to be
used by a small set of "friend" (in C++ terms) objects.
objgenerator: Generator must execute in its defining lexical context.

I.e. with its own globals. So, just as for functions, we need to switch
globals when resuming a generator.
unix modtime: Adhere to MICROPY_ENABLE_FLOAT better.
unix modtime: Convert to static module structures.
unix: Make mem_info() dump GC info too.

mem_info() is already pretty hacky, let it be more hacky.
unix modsocket: Convert to static module structures.