Improve indices on event_logs table.

Given we're nearly always selecting the most recent entries from the
table, extending the index to include the `created_at` column avoids
having to do a filesort.

With original index:
```
mysql> explain SELECT `event_logs`.* FROM `event_logs` WHERE `event_logs`.`uid` = 'fd016f20-f219-012f-9436-12313c09b582' AND `event_logs`.`event` = 'Account unsuspended' ORDER BY created_at DESC LIMIT 1\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: event_logs
         type: ref
possible_keys: index_event_logs_on_uid
          key: index_event_logs_on_uid
      key_len: 767
          ref: const
         rows: 429655
        Extra: Using where; Using filesort
1 row in set (0.00 sec)
```

With updated index:
```
mysql> explain SELECT `event_logs`.* FROM `event_logs` WHERE `event_logs`.`uid` = 'fd016f20-f219-012f-9436-12313c09b582' AND `event_logs`.`event` = 'Account unsuspended' ORDER BY created_at DESC LIMIT 1\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: event_logs
         type: ref
possible_keys: index_event_logs_on_uid_and_created_at
          key: index_event_logs_on_uid_and_created_at
      key_len: 767
          ref: const
         rows: 432722
        Extra: Using where
1 row in set (0.00 sec)
```
Don't audo-suspend recently unsuspended users.

We are currently having issues with the workflow for unsuspending a user
who has been auto-suspended.  Currently when the user is unsuspended by
an admin, the auto-suspension process will re-suspend them at 5am the
following day if they haven't logged in by then.  This is a problem for
many users as they may work part-time, or in a different time zone, and
therefore not be able to login within that period.

This adds a 3 day grace period after unsuspension during which time the
account will not be auto-suspended.