py: Free non-interned strings in the parser when not needed.

mp_parse_node_free now frees the memory associated with non-interned
strings.  And the parser calls mp_parse_node_free when discarding a
non-used node (such as a doc string).

Also, the compiler now frees the parse tree explicitly just before it
exits (as opposed to relying on the caller to do this).

Addresses issue #708 as best we can.
Add pulse_width_percent to teensy.

Fix stmhal and teensy print routines to report actual prescaler an period.
Fix teensy build to use soft-float
Add USE_ARDUINO_TOOLCHAIN option to teensy build
Merge pull request #868 from dhylands/fix-teensy-float

Add pulse_width_percent to teensy.
stmhal, timer: Factor code to compute PWM percent; improve 32bit case.

Also do the same for teensy timer code.
stmhal: Enable 8-byte stack alignment for IRQ handlers.
py: For malloc and vstr functions, use size_t exclusively for int type.

It seems most sensible to use size_t for measuring "number of bytes" in
malloc and vstr functions (since that's what size_t is for).  We don't
use mp_uint_t because malloc and vstr are not Micro Python specific.
Updated CODECONVENTIONS to clarify use of integer types.
py: Tidy up exception matching; allow matching of tuple of exceptions.

Addresses issue #864.
tests: Add test for exception matching of a tuple of exceptions.
Change allows tests/unix/ffi_float.py to pass on OSX
docs: Initial commit of Sphinx documentation framework.
docs: Imported tutorials from previous documentation system.
py: Simplify JSON str printing (while still conforming to JSON spec).

The JSON specs are relatively flexible and allow us to use one function
to print strings, be they ascii, bytes or utf-8 encoded.
docs: Make images and youtube video links work for LCD and AMP docs.

Images are currently served from micropython.org/static.  I don't know
if there is a better way to handle images.
drivers, cc3k: Move cc3000 driver from stmhal to drivers directory.
stmhal: Initial implementation of cc3k module and driver.

Pulled in and modified work done by mux/iabdalkader on cc3k driver, from
iabdalkader-cc3k-update branch.  That branch was terribly messy and had
too many conflicts to merge neatly.
py: Clean up nlr*.S to make it easier to read; fix clang .bss error.

It seems that newer versions of clang don't like the .bss directive, so
we don't use it for OSX.

Addressing issues #865 and #875.
stmhal, modcc3k: Add ioctl to cc3k sockets so select works.