user cleanup script

Script to cleanup things:
  * Openchange: remove data from openchangedb and mapistore indexing databases.
  * SOGo: remove user cache table
  * Imap: remove a list of folders (Spam, Sync issues and folder with "(1)" pattern)-

You can call it ignoring some things (for instance --ignore=imap).

It also have a --users flag to retrieve all active users (users that had used outlook in the past at least once, it checks openchangedb for this).

    Usage: openchange_user_cleanup.py [options] <username>

    Options:
      -h, --help       show this help message and exit
      --users          List active openchange users
      --dry-run        Do not perform any action
      --ignore=IGNORE  Ignore to perform some cleaner actions. The ones that exist
                       are: openchange, sogo, imap

You can use here the named parameters and the code will be shorter and easier to read and understand. For example:

```
m = re.search(r'(?P<schema>.+)://(?P<user>.+):(?P<pass>.+)@(?P<host>.+)/(?P<db>.+)', connection_string)
if m is None:
    raise Exception()
if m.groupdict()['schema'] != 'mysql':
    raise Exception()
group_dict = m.groupdict()
(dbuser, dbpass, dbhost, dbname) = (group_dict['user'], group_dict['pass'], group_dict['host'], group_dict.get('db', 'openchange'))
```