Makes the Set function on NTestDataBuilder fluent

I've noticed we're writing a lot of boiler plate in our derived builders, things that just forward to Set and return themselves.  This changes the Set method provided by the base class to be a fluent interface.  This allows each of the provided functions in your derived builder class to be ones which have some extra constraints they need to enforce (uniqueness, formatting, whatever) and reduces boiler plate when it doesn't matter.