tests: Get misc/print_exception and pyb/spi working on pyboard.
lib/libm: Add acosh, asinh, atanh, tan; get working with stmhal.

acoshf, asinhf, atanhf were added from musl.  mathsincos.c was
split up into its original, separate files (from newlibe-nano-2).
tan was added.

All of the important missing float functions are now implemented,
and pyboard now passes tests/float/math_fun.py (finally!).
unix/windows: Make sure that process exit code is portable 8-bit value.

This fixes FORCED_EXIT internal flag leaking into Windows exit code.
py: Add execfile function (from Python 2); enable in stmhal port.

Adds just 60 bytes to stmhal binary.  Addresses issue #362.
docs: Add CPy diff note for print_exception; embellish sys.platform.
windows: Correctly interpret skipped tests, enable uhashlib and ubinascii
run-tests: Allow to run testuite against Windows build on Linux (using Wine).

Just adjust line-endings of micropython.exe output, the rest should be
handled by Wine (automagically on properly configured distro).

To run:

MICROPY_MICROPYTHON=../windows/micropython.exe ./run-tests
py: Save a few code bytes in parser; make vars local where possible.
tools, pyboard.py: Write data to pyboard in chunks of 256 bytes.

This speeds up writes significantly.
py: Add blank and ident flags to grammar rules to simplify parser.

This saves around 100 bytes code space on stmhal, more on unix.
py: Remove unnecessary RULE_none and PN_none from parser.
stmhal: Include MICROPY_HAL_H only if defined.

Helps other ports.
stmhal: Use gc_dump_info() function instead of adhoc code.
stmhal: gccollect.h is superfluous in many places.
docs: Add custom CSS file, with code for admonition.
docs: Add RTD local_settings file, to add custom templates.
py: Fix iteration over map in 2 places.
py: Move global/nonlocal decl code to compiler for proper SyntaxError.

This patch gives proper SyntaxError exceptions for bad global/nonlocal
declarations.  It also reduces code size: 304 bytes on unix x64, 132
bytes on stmhal.
py: Remove last uses of printf from compile; use proper SyntaxError.
py: Use str_to_int function in more places to reduce code size.