Refs #7700. Moving duplicate checks.

This is back to the contract estabilished by the vtkDataSetFactory, but
it still allows me to handle things at the right time. Putting a unit test
back as well.
Merge remote branch 'origin/feature/7700_spf_remove_initialize'