Fixed buff duration check, fixed group buffs

- The duration needed to be set on the buff object "before "the buff is
actually added.  Because of this, I made the distinction between setup(0
(setting up the buff object) and add() (adding the buff stats to the
player).

- Group buffs would add the buff based on each individual player's
skillmods instead of the buffer's.  Due to this, I made a "buffer"
parameter for doAddBuff().  If there is a buffer, regardless of it's a
buffer within our group, we can specify them, otherwise provide null.