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.