Auto-indent for REPL, jni module for unix, lots more tests

py core:
- make frozensets hashable
- add MICROPY_PY_BUILTINS_FILTER to configure filter builtin
- make slice attributes (start/stop/step) readable (enable via
  MICROPY_PY_BUILTINS_SLICE_ATTRS)
- add support for array('q') and array('Q')
- add stream_tell method, and use for unix and stmhal file tell
- make string formatting 8-bit clean
- treat escaped quotes correctly in REPL continuation
- fix function args when a star-arg is followed by keyword args
- properly classify floats that look like hex numbers (eg 0e0)
- fix calculation of max digit storage for mpz; fix sys.maxsize
- refine SyntaxError for repeated use of global/nonlocal
- raise SyntaxError when unicode char point out of range
- fix error reporting for unexpected end of modulo format str
- fix error type for badly formatted format specifier (is now ValueError)
- raise NotImplementedError for unicode name escape instead of assert
- for str.endswith(s, start) raise NotImplementedError instead of assert
- make str.rsplit(None,n) raise NotImplementedError instead of assert
- handle 'raise X from Y' by issuing a warning that exception chaining is
  not supported
- make it_iternext() recognize IndexError
- only compile function annotations if really needed (for native emitter)
- simplify dispatch of bool binary op
- simplify printing of bytes objects when unicode enabled

lib:
- readline: add auto-indent support; 4 spaces are added at start of line
  to match previous indent, and if previous line ended in colon; backspace
  deletes 4 space if only spaces begin a line

drivers:
- nrf24l01: fix SPI phase setting to match specs of nRF chip

tools:
- upgrade upip to 0.5.8 (adds support for experimental ussl module)

tests:
- explain in README how tests get skipped
- add feature_check dir to collect capability detection scripts
- split byteorder-dependent tests to *_endian.py's
- allow to skip byteorder-dependent tests
- add escaped quotes tests for REPL
- add tests for bool, bytearray, float, exceptions (to improve coverage)
- add test for exception-chaining raise syntax
- add test on set/frozenset equality
- add tests for non-compliant behaviour (relative to CPython)
- add test where __getitem__ raises IndexError to stop iteration
- make io test cleanup after itself by removing 'testfile'
- move int+unicode test to unicode-specific test directory
- wipy: add I2C tests
- wipy: additional tests for when the UART is un-initialized
- wipy: improve UART tests with no pin assignment case
- wipy: remove unneeded dependencies to pyb.Pin

unix-cpy port:
- port is removed (no longer needed), along with conditional code in core

unix port:
- bump default heap size to 1MB (2MB on 64-bit systems)
- enable REPL auto-indent
- allow to build libffi from source and link against it
- add 'jni' module to interface to JNI-compliant JavaVM

windows port:
- make mpconfigport.h up-to-date with the unix port
- make unistd.h more posix compatible

stmhal port:
- use polling, not DMA, for 1 byte SPI transfers
- add 'opt' arg to pyb.main, to set mp_optimise_value
- add option to query for the current usb mode
- add support for STM32F411 Discovery Board (STM32F411E-DISCO)
- enable I & D caches for Cortex-M7
- fix single precision float printing error

cc3200 port:
- implement new Pin API
- implement new UART API
- implement new I2C API
- implement new SPI API
- implement new ADC API
- implement new WDT API
- implement new SD and RTC API plus os and time modules' extensions
- improve uniflash script and make it a bit more verbose
- increase error led blynk period to 100ms
- keep overwriting the same image on sequential updates
- improve file system check routine
- make sure to update sleep objects when registered
- reduce servers cycle time to improve FTP transfer rate
- remove unneeded loops in the FreeRTOS hooks
- server side SSL socket requires both certfile and keyfile
- don't clear the WDT special bit in the bootloader
- disable some uPy features in debug mode to help code fit
- change HeartBeat period from 5 to 4 seconds
- add mphal error to raise hardware related exceptions

esp8266 port:
- add wifi_mode() to read and set WiFi operating mode
- add wlan.isconnected() to maintain parity with other ports

docs:
- wipy: adapt ADC doc and quickref to the new API
- wipy: update I2C and UART docs to match the new API
- wipy: add pins to the I2C constructor
This tag has no release notes.