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
This tag has no release notes.