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.
docs: Add debounce tutorial; order Pin methods; add pull resistor info.
docs: Add links from quickref to pyb classes.
docs: Update front page to display date of last update.
docs: Bump version to 1.3.6.

This needs to be done before actually tagging the new version.
unix: fast: Set initial module dict size big to have high pystone score.

For this, introduce MICROPY_MODULE_DICT_SIZE config setting.
py: Allow +, in, and compare ops between bytes and bytearray/array.

Eg b"123" + bytearray(2) now works.  This patch actually decreases code
size while adding functionality: 32-bit unix down by 128 bytes, stmhal
down by 84 bytes.
py: Allow bytes object as argument to some str methods.

This turns failing assertions to type exceptions for things like
b"123".find(...).  We still don't support operations like this on bytes
objects (unlike CPython), but at least it no longer crashes.
py: Fix some macros defines; cleanup some includes.
unix: Allow -X heapsize number take 'w' specifier for word size adjustment.

The specifier should go after the number, before size suffix like 'k' or 'm'.
E.g.: "-X heapsize=100wk" will use 100K heap on 32-bit system and 200K - on
64-bit.
py: Deactivate more code without MICROPY_PY_SYS

When compiler optimization has been turned on, gcc knows that this code
block is not going to be executed. But with -O0 it complains about
path_items being used uninitialized.

Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
bare-arm: Add dummy __assert_func and __fatal_error

Required to build bare-arm with debugging.

Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
stmhal: Declare variables extern in include files

Else we end up with several instances of the variable.

Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
py: Add order-only dependency for py-version.h

Else the directory might not exist.

Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
py: Remove obsolute function declaration.
py: Use shorter, static error msgs when ERROR_REPORTING_TERSE enabled.

Going from MICROPY_ERROR_REPORTING_NORMAL to
MICROPY_ERROR_REPORTING_TERSE now saves 2020 bytes ROM for ARM Thumb2,
and 2200 bytes ROM for 32-bit x86.

This is about a 2.5% code size reduction for bare-arm.