Correct handling of empty onDone handler in eval

The code that lead to this issue was following

    UBindVar(UTest, someInputPort);
    UNotifyThreadedChange(
        someInputPort,
        &UTest::onChange,
        urbi::LOCK_FUNCTION_DROP
    );

It worked fine when no dropping occured or when only LOCK_FUNCTION (no
dropping) was used.

I don't know what the 'onDone' handler is for but obviously the case
when it's empty wasn't handled (got Boost exception
'boost::bad_function_call').