rest: rename image -> preferred_image
because it's just preferred, not forced
rest: add m to dev deps
rest: add devices tests