Network support in stmhal, and improved viper compiler. Changes in core: - tidy up native emitter and assemblers - viper can compiler more binary ops - viper supports casting (int, ptr8, ptr16) - viper can compile native stores (eg p[1] = 42) - remove IOError (use OSError instead) stmhal port: - fix OSX mass storage issue, so pyboard can be left plugged in - add network and usocket modules with CC3000 and WIZnet5k support (disabled by default) - improved percent option in timer PWM - add pyb.elapsed_millis, pyb.elapsed_micros - internal flash is labelled as "pybflash" on creation - don't init NSS pin when initialising SPI bus with NSS_SOFT mode