modsys: Add sys.print_exception(exc, file=sys.stdout) function.

The function is modeled after traceback.print_exception(), but unbloated,
and put into existing module to save overhead on adding another module.
Compliant traceback.print_exception() is intended to be implemented in
micropython-lib in terms of sys.print_exception().

This change required refactoring mp_obj_print_exception() to take pfenv_t
interface arguments.

Addresses #751.
stmhal: Enhance pyb.freq to configure bus (AHB, APB1, APB2) freqs.

This is useful if you need precise control over the speed of
peripherals (eg SPI clock).
stmhal: Allow SPI.init to specify prescaler directly; improve SPI docs.
drivers, nrf24: Add nonblocking send option etc.
drivers, nrf24: Nonblocking send now done by generator.
drivers, nrf24: Nonblocking send now uses send_start and send_done.
py: Allow builtins to be overridden.

This patch adds a configuration option (MICROPY_CAN_OVERRIDE_BUILTINS)
which, when enabled, allows to override all names within the builtins
module.  A builtins override dict is created the first time the user
assigns to a name in the builtins model, and then that dict is searched
first on subsequent lookups.  Note that this implementation doesn't
allow deleting of names.

This patch also does some refactoring of builtins code, creating the
modbuiltins.c file.

Addresses issue #959.
Update travis link in readme.md
unix: usocket: make connect and bind functions use as argument: tuple (host, port) for ipv4, tuple (host,port,flow,scope) for ipv6 and string for unix socket
unix: add unlink function to os module