modffi: Update for MP_OBJ_STOP_ITERATION refactor.
objarray: Implement slice subscription.
test/class-super: Expose super() breakage.
py: Add arg checking helper functions.

These are to assist in writing native C functions that take positional
and keyword arguments.  mp_arg_check_num is for just checking the
number of arguments is correct.  mp_arg_parse_all is for parsing
positional and keyword arguments with default values.
stm: Update to compile with latest changes to core py.
stmhal: Add SPI class.

Also some updates to compile with latest changes to core py.
stmhal: Tidy up and improve consistency across modules.
stmhal: Update ExtInt to allow keyword arguments in constructor.
stmhal: Only init RNG if it's used.
py: Fix mp_arg_parse_all.
stmhal: Small bug fixes and simplifications.
Merge branch 'master' of github.com:micropython/micropython
Fix i2c and spi to compile for Netduino Plus 2
modffi: Fix how we call `pkg-config`
modstruct: Use proper int accessor which checks input value type.
modstruct: Add 'O' typecode for passing mp_obj_t.

Useful as callback data, etc.
modsocket: Add setblocking() method.
gc: Recover simple gc_realloc implementation, make easier to switch between.
gc: "new" gc_realloc: Rewrite in plain C, fixing bunch of bugs.

There were typos, various rounding errors trying to do concurrent counting
in bytes vs blocks, complex conditional paths, superfluous variables, etc.,
etc., all leading to obscure segfaults.
objcell: Add disabled by default print method for debugging.