generateDirectiveId
Create a unique directive ID.
Contract:
the implementor must return an ID that is distinct from any activity ID that was in the initial plan or that has been returned from this method before during the implementor's lifetime.