Delete lots of copy constructors and copy assignment operators

Fixes rule-of-three and copyable-polymorphic warnings reported by clazy.

The default copy constructor and copy assignment operator are
only valid for simple classes so we delete them (i.e. make then not exist)
when we have either a virtual class or a destructor, the code still compiles
so this doesn't fix any bug, it is more a protection for when you think you
can copy a class and don't realize the default copy constrcutor is not doing
what you want and you get crashes. Hopefully this helps us in the future :)
97 files changed