Fix client SetAttackTimer issue

Moved the call to the end of Client::CalcBonuses() since it depends on
Client::CalcHaste() which requires a bunch of others to be called
before it.
Revamp attack delays / hastes / slows based on dev quotes

See changelog