Worker factory options

This should resolve issue #180.
> Are we using the string generator here instead of lexical cast to verify it works on null uuids?

I used it to avoid an exception being thrown by lexical cast on a valid string. (Tests unrelated to my changes were failing on my machine.) But yes, I think it is better to return a NULL UUID than to throw an exxception.

	David=