Improved native codegen, better printf, support for F401 and F411 MCUs.

py core:
- implement delete for property and descriptors
- add option to disable "enumerate" and "reversed" builtins
- can call functions with *args in native emitter
- implement full function arg passing for native emitter
- combine load_attr and store_attr internal type methods into one
- fix formatting of floating point numbers near 1.0
- support assignment of bytes to bytearray slices
- overhaul and simplify printf/pfenv mechanism
- fix builtin ord so that it can handle bytes values >= 0x80
- inlinethumb: add support for core floating point instructions
- make viper code generator raise ViperTypeError on error

lib:
- string0.c now in lib/libc/ (was in stmhal/)
- fatfs code size reduced (by 768 bytes on Thumb2 archs)

tests:
- more tests for builtins
- tests for lexer
- coverage increased to 93%

stmhal:
- make LED object print LED(x) for consistency with constructor
- in USB HID driver, make polling interval configurable
- allow sending CAN messages with timeout=0
- add support for sending and receiving CAN RTR messages
- make board parameters more configurable (HSE PLL, LED4, TIMs, etc)
- add support for F401 and F411 MCUs
- add support for Espruino Pico board
- make raw REPL mode 8-bit clean

cc3200 port:
- enable pull-ups for stdio UART pins
- enable long filename support in fatfs
- add WLAN.config_ip(), to assign a static IP
- add IPPROTO_SEC so secure sockets can be made

tools:
- make pyboard.py 8-bit clean, so it works with unicode chars

docs:
- document pyb.main() function
This tag has no release notes.