Triggers should allow arbitrary event attributes to be matched

At the moment events can only be matched by the type using the syntax:

on:
  pull_request:
    types: [opened, synchronize, reopened]

This is fairly restrictive, ideally any attribute of the event (pull request event in this example) could be matched. Here’s an example syntax:

on:
  pull_request:
    matches:
    - action: [opened, synchronize, reopened]
      pull_request.draft: false
      pull_request.user.site_admin: true
    - action: review_requested
      pull_request.requested_reviewers: [octocat]