Merge the code for expiring effects.

I hope this is adequate for future growth (specifically, for when someone implements
objects that last until the unit gains a level).


git-svn-id: http://svn.gna.org/svn/wesnoth/trunk@56014 75b3775d-3801-0410-9e12-e2e43121521d