* Added `available` property to `Recorder`, `CommandInterface`, and `ConfigInterface` to detect that a recorder is connected, ready for commands, and ready for configuration, respectively.
* Added `CommandInterface.awaitRemount()` (counterpart to `awaitReboot()`)
* Command and configuration error codes now use an `enum` - functionally the same, but response `repr()` are easier to read.
* Fixed formatting of MAC address string.
* Fixed `CommandInterface.updateESP32()`
* Added `LegacyFileCommandInterface` for old SlamStick recorders with firmware that supports recording but not file-based firmware updating (FwRev 17-19).
* Consolidated everything that's explicitly dependent on FwRev into `CommandInterface` and its subclasses.
* Added 6 more 'fake recorders' for testing, and standardized the fake recorder naming convention (`partNumber_FwRev`).