stmhal: Fix UART so bits counts number of data bits, not incl parity.

Addresses issue #950.
py: Make gc.enable/disable just control auto-GC; alloc is still allowed.

gc.enable/disable are now the same as CPython: they just control whether
automatic garbage collection is enabled or not.  If disabled, you can
still allocate heap memory, and initiate a manual collection.
tests: Add heapalloc.py.exp, since CPython can't generate it.
docs: Cleanup and update some docs.
py: Fix bug with right-shifting small ints by large amounts.

Undefined behavior in C, needs explicit check.
stmhal: Improve pyb.freq to allow 8 and 16MHz (not usable with USB).

Also restrict higher frequencies to have a VCO_OUT frequency below
432MHz, as specified in the datasheet.

Docs improved to list allowed frequencies, and explain about USB
stability.
unix: Provide "fast" target to build interpreter for benchmarking.

This build is primarily intended for benchmarking, and may have random
features enabled/disabled to get high scores in synthetic benchmarks.
The intent is to show/prove that MicroPython codebase can compete with
CPython, when configured appropriately. But the main MicroPython aim
still remains to optimize for memory usage (which inevitibly leads to
performance degradation in some areas on some workloads).
docs: Make custom index page; add more docs.
docs: Disable logo and add spacing to top index.
docs: Fix typo in Fading LEDs
Merge branch 'szinya-master'
py: Fix builtin callable so it checks user-defined instances correctly.

Addresses issue #953.
py: Explicitly set uninitialised struct member to false.

Uninitialised struct members get a default value of 0/false, so this is
not strictly needed.  But it actually decreases code size because when
all members are initialised the compiler doesn't need to insert a call
to memset to clear everything.  In other words, setting 1 extra member
to 0 uses less code than calling memset.

ROM savings in bytes: 32-bit unix: 100; bare-arm: 44; stmhal: 52.
docs: Adjust table spacing in topindex page.
docs: Add skin imgs; change external links to micropython.org/resources.
docs: Add pdf size info to datasheet links.