Optionally source $DEVICE_DIR/flash.sh for per-device flashing commands.

This is basically as discussed over email.  For a device to provide its own flashing commands, it must

* write its DEVICE_DIR to .config during `config.sh`
* implement the `flash_$DEVICE` function in `$DEVICE_DIR/flash.sh`

r? @michaelwu 

@mvines is any of this going to conflict with your setup at CAF?  (Also, hi.)
How's about:
```sh
test -f $DEVICE_DIR/flash.sh && . $DEVICE_DIR/flash.sh
```