/api/core/backup/download/this answers with config.xml itself, but
get_config went through _get(), which calls .json(). That raised on
every real device, the except swallowed it, and "running" came back
empty. The unit tests replaced _get with a lambda, so they never saw it.
_get_text() returns the body as text. A failed read now raises instead
of returning an empty string, so the caller sees why it failed.
Closes#11