Make PropertiesUsedByProductConstructor a property and remove two tests that break for reasons outside of what they're testing.
Added functionality: TestObjectBuilderBuilder to populates PropertiesUsedByProductConstructor propery on TestObjectBuilder.
Added functionality: TestObjectBuilder only sets properties on the product if the user has set the corressponding property on the TestObjectBuilder.  Removed test that checks product is built with dummy dependencies if none are specified.  This test was removed because I don't want creating stubs to be the responsibility of this framework.
Forgot -a flag with last commit ... second attempt ... Added functionality: do not set properties on product that i) are arguments to the products constructor or ii) whose values have not been set by the client.
Won't initialise builder properties.  They should only be used if set by the user.
Remove redundant code.