Fix -Wdeprecated-copy warnings in various places. Consists in enforcing rule of five/three/zero (https://en.cppreference.com/w/cpp/language/rule_of_three) mainly by deleting redundant copy constructors or copy assignment operators that replicate default constructors/operators, or more rarely by adding missing copy/move constructors/operators. See also https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#c20-if-you-can-avoid-defining-default-operations-do