Do not signal an error when there is no primary method.

When the list of primary methods is empty, we do not signal an error.
Instead, we generate an effective method that signals an error.  The
reason for doing it this way is that we might call
COMPUTE-EFFECTIVE-METHOD in a situation other than when the generic
function was invoked.  When COMPUTE-EFFECTIVE-METHOD is called as a
result of an invocation of a generic function, it does not matter much
whether we signal an error immediately, or generate an effective
method that signals an error; the error will be signaled either way.
However, we sometimes employ a trick that we call SATIATING a generic
function.  Satiating a generic function means simulating calls to it
in order to fill up the cache and to create a discriminating function
that does not have to call the full dispatch machinery very often.
For some simulated calls, it might be the case that there are only
non-primary methods applicable.  But whether that is the case depends
on the method combination of the generic function, so we can not make
any assumptions about it; we can only call COMPUTE-EFFECTIVE-METHOD
and use what it returns.  We certainly do not want to have an error
signaled whenever there is a hypothetical future invocation of a
generic function that might not have a primary method, so we delay the
error signaling until this invocation actually happens.