Issue 5 optional values

Now if a randomizer returns null then the field is not set. OptionalRandomizer uses this feature to either return a random value from a delegate or to return null.

Careful: this pull request also contains the pull request for issue #3. Sorry for this.
I believe we don't need this test since even if the optional randomizer returns null, the target field will be set to null (no further instructions are executed).

Do you see?