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