Extend cooldown system with per user (permission group) settings and gradual wipe

We can extend functionality by using code from events for triggering by command which we should be able to set:

maxAmountOfTrigger: how many times command can be triggered by user - default 1

Wiping of such amount should be done by two ways:

  1. Full wipe every x miliseconds, which should have basically same functionality as current implementation
    fullWipeEveryXMs: how often should we have full wipe - default 10 minutes
  2. Gradual wipe every x miliseconds will be removed y from trigger amount
    gradualWipeEveryXMs: how often should we trigger gradual wipe - default 1 minute
    gradualWipeTriggerSubtract: how much of amount should be subtracted from trigger amount

We will also need to be able to enable/disable cooldowns and set wiping and trigger amount per permission group, if cooldown is set per user, otherwise global cooldowns should have only one settings.

We should also show example of cooldown reaction (most likely for gradual wipe to be understandable)

20.08.2020T16:00 soge: !test // ok
20.08.2020T16:01 soge: !test // oh no cooldown failed ... etc.