Refactor DFU and support multiple devices

* Refactoring, and:
* Support multiple Tessels via the TESSEL_SERIAL env-var
* Fix tessel erase to automatically the best thing it can do, deprecating `--force`.
* Adds `tessel boot` for running Rust.
Could change to
```
return next(opts.serial?"Device matching serial " + opts.serial + " not found.":"No devices found.", null);
```
To be explicit.