Tab autocompletion, and various improvements and bug fixes.

py core:
- add attrtuple for space efficient tuples with attr access
- add sys.implementation, with uPy name and version number
- fix printing of "inf" and "nan" values
- native: fix stack adjustment when erroring on binary op
- mpz: fix bug with shl not truncating zero digits correctly
- modify "with" implementation so it doesn't use any heap
- add sys.exc_info()
- implement conversion of bignum to bytes
- implement struct.pack with 'q' and 'Q' args on 32-bit archs
- replace py-version.sh with makeversiohdr.py, written in Python
- implement tab autocompletion for REPL
- rename struct module to ustruct
- add NotImplemented builtin constant
- handle user instance hash based on Python adhoc rules
- fix naming of function arguments when function is a closure
- fix printing of complex numbers with nan/inf

extmod:
- add machine module, with mem8, mem16, mem32 objects

lib:
- move common mod_network_* functions to lib/netutils
- move common time functions to lib/timeutils

tools:
- pyboard.py: add "--follow" option to wait for output indefinitely
- add script to install "upip" package manager

tests:
- add more viper tests, including for ViperTypeError
- coverage at 94%

unix port:
- modffi: support passing float/double args
- add special function to coverage build to improve coverage
- print unhandled exceptions to stderr

stmhal port:
- implement os.uname()
- reset timer counter to zero after changing auto reload
- properly disable unhandled timer interrupts
- automatically reenable IRQs when code drops to the USB REPL
- allow to configure UART pins completely via mpconfigboard.h
- make raw REPL work with event-driven version of pyexec
- add rtc.calibration() method to get/set RTC fine-tuning value
- add os.rename()
- add readinto() and readlines() methods to sys.stdin and pyb.USB_VCP

cc3200 port:
- add WiPy specific info to README.md
- fix byte order in MAKE_SOCKADDR and UNPACK_SOCKADDR
- select NIC when the socket is created
- add delays to allow ftp and telnet servers to start/stop
- make telnet login work with Tera Term
- implement os.uname()
- make WLAN scan results a list of attrtuples
- make WLAN.isconnected() also work in AP mode
- implement Sleep.wake_reason()
- make WLAN.ifconfig() return an attrtuple
- enable MICROPY_MODULE_WEAK_LINKS

esp8266 port:
- export station status() constants
- add esp.socket class, with ESP-style socket functionality
- add raw REPL support and working soft reset
- fix garbage collector by hard-coding stack end address
- add socket.onsent() callback support
- add support for frozen modules
- implement time functions
- add utime and pyb.RTC
- add module weak links

docs:
- document pyb.stop, pyb.standby, pyb.RTC.wakeup
- document USB_VCP read* and write methods
This tag has no release notes.