EIEIO: Prevent excessive evaluation of :initform

* lisp/emacs-lisp/eieio.el (initialize-instance):
Do not evaluate initform of a slot when initarg for the slot is provided,
according to the following secitons of CLHS:
- Object Creation and Initialization
- Initialization Arguments
- Defaulting of Initialization Arguments
- Rules for Initialization Arguments

* test/lisp/emacs-lisp/eieio-etests/eieio-tests.el:
Add corresponding tests
Fix a typo
8 jobs for master in 1 minute and 19 seconds (queued for 4 seconds)
Status Job ID Name Coverage
  Prep Images
failed #23496
prep-image-base

00:01:19

 
  Build Images
skipped #23497
build-image-inotify
 
  Platform Images
skipped #23498
build-image-filenotify-gio
skipped #23499
build-image-gnustep
 
  Platforms
skipped #23500
test-filenotify-gio
skipped #23501
test-gnustep
 
  Native Comp Images
skipped #23502
build-native-bootstrap-speed0
 
  Slow
skipped #23503
test-all-inotify
 
Name Stage Failure
failed
prep-image-base Prep Images There has been a runner system failure, please try again
Initialized empty Git repository in /builds/emacs/emacs/.git/
Created fresh repository.
From https://emba.gnu.org/emacs/emacs
* [new ref] 109c27341e35fae778b95e0eb5d4d72927bf4ea8 -> refs/pipelines/11446
* [new branch] master -> origin/master
Checking out 109c2734 as master...

Skipping Git submodules setup
ERROR: Job failed (system failure): Error response from daemon: Conflict. The container name "/runner-2oEDrUT7-project-1-concurrent-1-build-4" is already in use by container "f46df44a43bee1f61a6ede2eac732a4e06eaa2094659f7ea23718f093d67bcc6". You have to remove (or rename) that container to be able to reuse that name. (executor_docker.go:726:0s)