Fix suspended_user factory.

reason_for_suspension is mandatory for a suspended user
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)

This has required updating a test that was relying on the database
returning events with identical timestamps in a particular order.  This
no longer holds with the new index.
Don't auto-suspend recently unsuspended users.

Additionally, don't send them spurious reminder emails.

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.
Merge pull request #269 from alphagov/unsuspension_grace_period2

Don't auto-suspend recently unsuspended users.