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'
Add save/restore_irq

Factored irq functions into a separate file.
Add save/restore_irq

Factored irq functions into a separate file.
Add support for pyb.micros() by using the systick timer.

I also removed trailing spaces from modpyb.c which affected a couple
of lines technically not part of this patch.

Tested using: https://github.com/dhylands/upy-examples/blob/master/micros_test.py

which eventually fails due to wraparound issues (I could fix the test to compensate
but didn't bother)