ESP8266 port

This adds support for ESP8266 as a target port for Micro Python.  Ie, Micro Python runs directly on the ESP8266 chip.  Currently no board-specific features are implemented, only REPL and core uPy modules.

At the moment there is only 19k of heap RAM available for uPy.  This is because of 32k bss (need to investigate why...) and 28k rodata (can rodata go elsewhere?).

Garbage collection and exceptions seem to work.

Build using @pfalcon's open sdk: https://github.com/pfalcon/esp-open-sdk .  Need to have xtensa-gcc in your path, and then do something like:
```
$ ESP_SDK=~/esp-open-sdk/sdk make
```

Binary image available at http://micropython.org/resources/upy.img