Add new 'flx' completion style

* lisp/minibuffer.el (completion-styles-alist): Add flx.
(completion-substring--all-completions): Accept
TRANSFORM-PATTERN-FN.
(completion-flx-all-completions, completion-flx-try-completion)
(completion-flx--make-flx-pattern): New functions.
2 jobs for scratch/new-flx-completion-style in 60 minutes and 1 second (queued for 1 second)
latest
Status Job ID Name Coverage
  Test
failed #717
test-all

01:00:01

passed #718
test-filenotify-gio

00:49:58

 
Name Stage Failure
failed
test-all Test The script exceeded the maximum execution time set for the job
  GEN      lisp/eshell/eshell-tests.log
ELC lisp/faces-tests.elc
GEN lisp/faces-tests.log
ELC lisp/ffap-tests.elc
GEN lisp/ffap-tests.log
ELC lisp/filenotify-tests.elc
GEN lisp/filenotify-tests.log
Pulling docker image gitlab/gitlab-runner-helper:x86_64-f100a208 ...
ERROR: Job failed: execution took longer than 1h0m0s seconds