Executes the command and ensures request.done is called on the request in
case it's not marked to be done already or async.
function execute() {
        command.exec(env, request.args, request);
        
        // If the request isn't asnync and isn't done, then make it done.
        if (!request.isAsync && !request.isDone) {
            request.done();
        }
    }