Improve accuracy of affected unit counts

* Cache unit class counts, rather than move_type count approximations
* Check if an effect affects each class, and use that to set affected count

See bug #21991

git-svn-id: svn://svn.gna.org/svn/freeciv/trunk@24870 a0f10bec-cc02-0410-94fc-a9cfff90b4cd
Consider more classes for defensive improvements

* Consider all classes to determine if an effect affects land or sea units
* Calculate wants based on move capabilities, rather than move_type
* Remove no longer used affected_unit_class()

See bug #21991

git-svn-id: svn://svn.gna.org/svn/freeciv/trunk@24871 a0f10bec-cc02-0410-94fc-a9cfff90b4cd