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.
Fix timer overflow code.

Teensy doesn't need to worry about overflows since all of
its timers are only 16-bit.

For PWM, the pulse width needs to be able to vary from 0..period+1
(pulse-width == period+1 corresponds to 100% PWM)

I couldn't test the 0xffffffff cases since we can't currently get a
period that big in python. With a prescaler of 0, that corresponds
to a freq of 0.039 (i.e. cycle every 25.56 seconds), and we can't
set that using freq or period.

I also tested both stmhal and teensy with floats disabled, which
required a few other code changes to compile.
Fix error: unknown type name 'size_t'
teensy: Enable 8-byte stack alignment for IRQ Handlers.