Add support for lazy initializated types

Resolves #331.
I think I've found an alternative:

```c#
..
    return this
        .GetType()
        .GetMethod("CreateLazy")
        .MakeGenericMethod(t.GetGenericArguments())
        .Invoke(null, new[] { context });
}

public static Lazy<T> CreateLazy<T>(ISpecimenContext context)
{
    var f = (Func<T>)context.Resolve(typeof(Func<T>));
    return new Lazy<T>(f);
}
```

Notice that the helper method is named CreateLazy instead of Create.

What do you think? :)