added install/uninstall
stmhal: Fix printing of pin name in error message.
stmhal: In safe mode, still mount SD card and present as MSD over USB.

It's still "safe" because no scripts are run.  Remove the SD card if you
want to access the internal flash filesystem.  Addresses issue #616.

Also: remove obsolete pyb.source_dir setting, and reset pyb.main and
pyb.usb_mode settings on soft-reset.
py: Put SystemExit in builtin namespace.

Also fix unix port so that SystemExit with no arg exits with value 0.
Put some code into the first 16K of flash

This basically shrinks the remaining size of flash in the portion
that goes after the internal flash drive.
Merge pull request #803 from dhylands/ld-opt

Put some code into the first 16K of flash
py: Viper can call functions with native types, and raise exceptions.
py: Code clean-up in native emitter; improve thumb native calls.
Merge pull request #796 from turbinenreiter/makeinstall

unix: Added install/uninstall
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