Merge filters

This PR enhances the `include/exclude` filters used in the `Merge` command by allowing key:value filters to be passed. Three keys are currently defined: `label`, `pr`, `user`. `pr` filters are not propagated across submodules.

This allows to use the following syntax 

```
scc merge develop --include user:ext_user pr:24 --exclude broken pr:45 user:session
```

Couple of questions:
- currently the first condition for inclusion is a test that the PR owner belongs to the organisation which is almost always true. To be able to merge isolated PRs e.g. by number, we need to modify/disable this inclusion condition.

- Josh suggested not to pass filters as series of arguments but instead individually. In this case, it would be nice to define a one character long option for `include/exclude` e.g.
```
scc merge develop -Iuser:ext_user -Ipr:24 -Ebroken -Epr:45 -Euser:session
```
- do we want granularity for the order of precedence? currently PRs are first tested for inclusion using all filters then for exclusion using all filters

/cc @manics for discussion