Apply Rule of Zero to core signal event hierarchies (#688)
Each of the simple polymorphic signal-event classes in
`core/conformation/signals/` and `core/pose/signals/` had a hand-written
copy constructor, copy assignment, and empty destructor that all just
did what the compiler-generated versions would do. Removing the
boilerplate brings them in line with the Rule of Zero while preserving
the polymorphic base destructors as `= default`.
Touched:
- `core/conformation/signals/`: `GeneralEvent`, `ConnectionEvent`,
`IdentityEvent`, `XYZEvent`
- `core/pose/signals/`: `GeneralEvent`, `DestructionEvent`,
`ConformationEvent`, `EnergyEvent`
`LengthEvent` is intentionally left alone — its copy constructor and
copy assignment invoke `check_consistency()` in debug builds, so they
have real semantic content beyond member-wise copy.