Allow for long-running signing operations
In order to be able to put secret keys used for signing status documents on an HSM device, which may require a long time(*) to finish, we need to allow for router_get_dirobj_signature() to return something akin to EAGAIN and make its callers able to cope with that.
router_get_dirobj_signature() has only two callers, both with only one same caller (dirvote_act()) so that seems pretty contained. Question is if we should push this down a level to crypto_pk_private_sign() for other potential use cases than votes and consensuses only?
(*) Let's define "a long time" as anything taking more than 1/10 of a second.