Make copy constructor and assignment operator private

To prevent shallow copies of Material Properties (#3225) we make the necessary CTORs and the = operator _private_. We have to explicitly add an empty public constructor as the compiler won't create a default CTOR set anymore now.

MOOSE and Marmot compile fine with this patch. If shallow copies should ever be needed by the framework  (which I don't quite see why) there is still the possibility of using ```friend``` declarations.