py: Speed up GC allocation.

This simple patch gives a very significant speed up for memory allocation
with the GC.

Eg, on PYBv1.0:
tests/basics/dict_del.py: 3.55 seconds -> 1.19 seconds
tests/misc/rge_sm.py:     15.3 seconds -> 2.48 seconds
py: Small cleanup in stream.c.
py: Change hash and len members of str from 16 bit to full word.

This allows to make strings longer than 64k.  It doesn't use any more
RAM with current GC because a str object still fits in a GC block.
extmod, zlibd: Make some simple ROM and RAM savings.

ROM down by 320 bytes on stmhal.  RAM down by 5.5k for a decompression
object.
modtermios: Add "termios" unix module, subset of CPython's.

Also provides setraw() function from "tty" module (which in CPython is
implemented in Python). The idea here is that 95% of "termios" module usage
is to set raw mode to allow access to normal serial devices. Then, instead
of exporting gazillion termios symbols, it's better to implement it in C,
and export minimal number of symbols (mostly baud rates and drain values).
unix, modtermios: Make it properly configurable; fix spelling mistake.
py: Fix bug where GC collected native/viper/asm function data.

Because (for Thumb) a function pointer has the LSB set, pointers to
dynamic functions in RAM (eg native, viper or asm functions) were not
being traced by the GC.  This patch is a comprehensive fix for this.

Addresses issue #820.
Add time.mktime and enhance time.localtime (for stmhal)

Now you can use time.localtime on the timestamps presented by os.stat
stmhal, modtime: Small changes, reduced code size by around 80 bytes.

Also added test for modtime.
Merge branch 'dhylands-localtime'
Added python script to map AF to a pin name

Added some functions to Pin class to query mode, pull, and af
stmhal, pin: Update documentation.
examples: Added pins.py example script to list pin config/af.

Script is due to Dave Hylands.
py: Consolidate min/max functions into one, and add key= argument.

Addresses issue #811.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	unix/modtermios.c
	unix/mpconfigport.h
fixed merge conflict
merged