Use requirements_vector for effects

Also use sveinung's construction to replace is_unit_class_affected();
remove some extra internal effects functions; and unify ruleset loading,
ruleset saving, and ruleset sanity checking.

See patch #4822

git-svn-id: svn://svn.gna.org/svn/freeciv/trunk@25311 a0f10bec-cc02-0410-94fc-a9cfff90b4cd
Do not consider harmless units in assess_danger()

Report and patch by pepeto
minor edits and rebase by me

See patch #4821

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