Restructure overwatch and death handling
Restructure overwatch and death handling

The `checkForOverwatch` function was broken, the fix resulted in a mayor restructuration of the attack
and death handling:

- Weapons play (print) their sound on shoot.
- The death check is now a method of the `Unit` class and separated from the death handler,
  which is to be implemented as `_handle_death` by the classes inheriting from `Unit`.
- The `aim_at` function of the `Soldier` class moved into the `Unit` class and now handles all aiming.
- The `shoot` function of the `Soldier` class moved as `shoot_at` into the `Unit` class and handles
  now *all* shooting.
- The overwatch handling moved into the `Unit` class and can be customized by overwriting the
  `_handle_overwatch` method.
- The "focus lens" item was replaced by the "scope" item, because it is essentially the same thing and
  simplifies the aiming code.

voidref/textcom,TachyonNZ/textcom,flimberger/textcom