Move DerivativeMaterialInterface into framework (#4299)
Add test for DerivativeMaterialInterface (#4299)
Merge pull request #4306 from dschwen/derivmatiface_4299

Move DerivativeMaterialInterface into framework