See here: https://github.com/dronus/arduino_esp8266_programmer
Works best with 3.3V Arduino, 5V Ardunio would need a simple double resistor voltage divider on Arduino TX to ESP8266 RX. For further wiring information see code comments.
It features auto-reset and bootloader control, to give the fully automatic flash-and-run cycle as a serial cable with DTS control would do. See code comments how to use this.
Currently this CANNOT be used as a general serial cable (eg. for using with AT firmware) as it would trigger resets when idle.