Re-fix build warnings about subr-x defsubsts

* lisp/term/haiku-win.el (require):
* lisp/progmodes/elisp-mode.el (require):
* lisp/isearch.el (require): Require subr-x at compile time, since
these use defsubsts/macros from there.

* lisp/emacs-lisp/subr-x.el (string-empty-p): Move from here...
* lisp/simple.el (string-empty-p): ... to here.  This is to help
with a build problem where files.el is using the defsubst, but
requiring subr-x.el at compile time leads to load errors.
5 jobs for master in 37 minutes and 59 seconds (queued for 17 seconds)
Status Job ID Name Coverage
  Build Images
passed #48205
build-image-inotify

00:29:20

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

00:06:59

passed #48206
test-lisp-inotify

00:08:38

passed #48208
test-lisp-progmodes-inotify

00:01:57

passed #48209
test-lisp-term-inotify

00:03:34

 
Name Stage Failure
failed
test-lisp-emacs-lisp-inotify Normal
$ find ${test_name} ! \( -name "*.log" -o -name ${EMACS_TEST_JUNIT_REPORT} \) -type f -delete
$ find ${test_name} -type d -depth -exec rmdir {} + 2>/dev/null
Uploading artifacts...
test-lisp-emacs-lisp-inotify-2f346b0a/: found 62 matching files
Uploading artifacts to coordinator... ok
id=48207 responseStatus=201 Created token=BS8aqX_q
Uploading artifacts...
test-lisp-emacs-lisp-inotify-2f346b0a/junit-test-report.xml: found 1 matching files

Uploading artifacts to coordinator... ok
id=48207 responseStatus=201 Created token=BS8aqX_q
ERROR: Job failed: exit code 2