Use OClosure to drop `advice--buffer-local-function-sample` hack

* lisp/emacs-lisp/nadvice.el (advice--forward): New OClosure, to
replace `advice--buffer-local-function-sample`.
(advice--set-buffer-local, advice--buffer-local): Adjust accordingly.
2 jobs for master in 48 minutes and 10 seconds (queued for 9 seconds)
Status Job ID Name Coverage
  Build Images
passed #76257
build-image-inotify

00:45:46

 
  Normal
failed #76258
test-lisp-emacs-lisp-inotify

00:02:23

 
Name Stage Failure
failed
test-lisp-emacs-lisp-inotify Normal
Uploading artifacts for failed job
Uploading artifacts...
test-lisp-emacs-lisp-inotify-b27e2bbb/: found 65 matching files and directories

Uploading artifacts as "archive" to coordinator... 201 Created
id=76258 responseStatus=201 Created token=1ziSZkNx
Uploading artifacts...
test-lisp-emacs-lisp-inotify-b27e2bbb/junit-test-report.xml: found 1 matching files and directories

Uploading artifacts as "junit" to coordinator... 201 Created
id=76258 responseStatus=201 Created token=1ziSZkNx
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 2