modio: Implement io.StringIO class.
objstringio: Compile only if MICROPY_ENABLE_MOD_IO defined.
py: "read" & "write" are so common that make them core.

Few other strings move to core, but make depend on "io" module.
py, gc: Only zero out the extra bytes at the end of the heap chunk.

This is a small optimisation to zero out only the additional bytes that
the caller did not ask for.
Merge branch 'master' of github.com:micropython/micropython
py: Implement keyword-only args.

Implements 'def f(*, a)' and 'def f(*a, b)', but not default
keyword-only args, eg 'def f(*, a=1)'.

Partially addresses issue #524.
py: Change the way function arguments are compiled.

New way uses slightly less ROM and RAM, should be slightly faster, and,
most importantly, allows to catch the error "non-keyword arg following
keyword arg".

Addresses issue #466.
py: Save some ROM by shortening compiler error messages.

Messages are still explanatory, while taking a little less ROM.
py: Eliminate 'op' variable in VM dispatch loop.

Remembering the last op is rarely needed, and when it is, can simply use
*save_ip.
py: Remove unnecessary LOAD_CONST_ID bytecode.

It's the same as LOAD_CONST_STR.
py: Add '*' qstr for 'import *'; use blank qstr for comprehension arg.
objlist: Use static small int constructor.
objlist: We no longer need to assert on mem alloc results.

They either succeed or raise exception.
py: Clear allocated, but unused memory in containers.

Also, clear up freed slots in containers.

As a follow up to 32bef315be8e56ad2d7f69223fe7b9606893b6ab.
py: Remove silly comment about interning keywords.

Of course, keywords are turned into lexer tokens in the lexer, so will
never need to be interned (unless you do something like x="def").

As it is now, the following on pyboard makes no new qstrs:

    import pyb
    pyb.info()
py: Fix lexerunix, where not all data may be read from a file.

Addresses issue #526.
py: Fix bug in map lookup of interned string vs non-interned.

Had choice of either interning or forcing full equality comparison, and
chose latter.  See comments in mp_map_lookup.

Addresses issue #523.
objtype: Implement basic framework for subclassing native types.

This implements checking of base types, allocation and basic initialization,
and optimized support for special method lookups. Other features are not yet
supported.
tests: Add basic tests for subclassing native types and using special methods.

Even of these, some features do not yet work as expected.
objtype: Add support for looking up non-method attrs in native base class.