Use special formatting for speed in item set bonuses
Pass a reference to an EffectDef to EffectManager::addEffect()

This is cleaner than passing a bunch of individual variables to that
function.
Simplify code for stacking effects

- When adding an effect that could not stack, we would try to apply the
magnitude and duration of the new effect to the old effect to "refresh"
it. Now, we simply remove the old effect and proceed to add the new
effect. This is much clearer code-wise.
- The "additive" property for effects has been replaced with
"can_stack", which is a more accurate variable name.
- Shields can be stacked now. Damage will be done to the oldest shield
first.
Merge pull request #1185 from dorkster/effects

Effects improvements