Fix mismatch between documentation and actual API in new build

Current implementation returns multiple ids, not just one
[backend] backend.sign: discover `keygen_host` from backend config file
[backend] unittests for backend/sign
[backend] PEP8 name convention
[baclend] spawn_instance refactoring & unittest